php简单小系统speedphp,SpeedPHP框架学习-1.基础及MVC懂得

SpeedPHP框架学习-1.基础及MVC理解

SpeedPHP是一个以快速学习为基础的PHP框架,其架构较为简单,学习曲线较为简洁。这里以一个CMS系统为例,记录下使用SP的过程。

下载SP压缩包,解压缩放在服务器的根目录下,访问服务器就可以了。SP目录下文件有controller、model、SpeedPHP和tmp目录,其中SpeedPHP为系统文件,Controller为控制器文件。程序从index.php开始执行

define("SP_PATH",dirname(__FILE__)."/SpeedPHP");

define("APP_PATH",dirname(__FILE__));

$spConfig = array(

"db" =>array(

'host' =>'localhost',

'login' =>'root',

'password' =>'root',

'database' =>'test',

),

'view' => array(

'enabled' =>TRUE,

'config'=>array(

'template_dir'=> APP_PATH.'/tpl',

'compile_dir'=> APP_PATH.'/tmp',

'cache_dir'=> APP_PATH.'/tmp',

'left_delimiter'=> '

'right_delimiter'=> '}>',

),

)

);

require(SP_PATH."/SpeedPHP.php");

spRun();

上述程序定义了App和SP的路径,加载了数据库和视图层的配置,加载SP的核心库文件,最后运行整个系统。以上程序运行起来时,会首先到Controller目录下执行main类下的index方法。main类的程序如下:

class main extends spController

{

function index(){

$tpl = $this->spArgs("tpl","green");

$guestbook =spClass("guestbook");

$this->results= $guestbook->findAll();

$this->display("{$tpl}/index.html");

}

function write(){

$guestbook =spClass("guestbook");

$newrow =array(

'name'=> $this->spArgs('name'),

'title'=> $this->spArgs('title'),

'contents'=> $this->spArgs('contents'),

);

$guestbook->create($newrow);

echo "return";

}

}

从index.php过来默认调用main方法的index函数,在本例中这个函数首先设定模板名参数(tpl)。再新建一个model。使用model的findall方法,查找全部数据库信息。最后使用tpl模板显示结果。上述控制器程序,必须继承自spController类,方法名就是调用的action名。在程序中显式调用时路径为index.php?c=main&a=write。Model如下所示,是和数据库表同名的类文件。这个model必须继承自spModel,同时设置了主键和表名属性。

class guestbook extends spModel

{

var $pk = "id"; //每个留言唯一的标志,可以称为主键

var $table ="guestbook"; // 数据表的名称

}

在tpl模板目录里的index.html文件下使用如下所示程序,格式化输出结果。

从MVC的角度看,model中的类,相当于模型,它对应数据库中的每一个表,且在控制器中进行被操作。而html文件相当于视图层,在SP架构中表现问TPL文件目录中的文件,他的程序调用等操作在Controller层中完成。控制层对应于Controller目录中的类文件,是程序的核心所在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值