SpeedPHP框架学习-1.基础及MVC理解
2012-10-09 15:59
465 查看
SpeedPHP是一个以快速学习为基础的PHP框架,其架构较为简单,学习曲线较为简洁。这里以一个CMS系统为例,记录下使用SP的过程。
下载SP压缩包,解压缩放在服务器的根目录下,访问服务器就可以了。SP目录下文件有controller、model、SpeedPHP和tmp目录,其中SpeedPHP为系统文件,Controller为控制器文件。程序从index.php开始执行
上述程序定义了App和SP的路径,加载了数据库和视图层的配置,加载SP的核心库文件,最后运行整个系统。以上程序运行起来时,会首先到Controller目录下执行main类下的index方法。main类的程序如下:
从index.php过来默认调用main方法的index函数,在本例中这个函数首先设定模板名参数(tpl)。再新建一个model。使用model的findall方法,查找全部数据库信息。最后使用tpl模板显示结果。上述控制器程序,必须继承自spController类,方法名就是调用的action名。在程序中显式调用时路径为index.php?c=main&a=write。Model如下所示,是和数据库表同名的类文件。这个model必须继承自spModel,同时设置了主键和表名属性。
在tpl模板目录里的index.html文件下使用如下所示程序,格式化输出结果。
下载SP压缩包,解压缩放在服务器的根目录下,访问服务器就可以了。SP目录下文件有controller、model、SpeedPHP和tmp目录,其中SpeedPHP为系统文件,Controller为控制器文件。程序从index.php开始执行
<?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类的程序如下:
<?php 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 "<ahref=/index.php?c=main&a=index>return</a>"; } }
从index.php过来默认调用main方法的index函数,在本例中这个函数首先设定模板名参数(tpl)。再新建一个model。使用model的findall方法,查找全部数据库信息。最后使用tpl模板显示结果。上述控制器程序,必须继承自spController类,方法名就是调用的action名。在程序中显式调用时路径为index.php?c=main&a=write。Model如下所示,是和数据库表同名的类文件。这个model必须继承自spModel,同时设置了主键和表名属性。
<?php class guestbook extends spModel { var $pk = "id"; //每个留言唯一的标志,可以称为主键 var $table ="guestbook"; // 数据表的名称 }
在tpl模板目录里的index.html文件下使用如下所示程序,格式化输出结果。
<{foreach from=$results item=one}> <h4><{$one.title}></h4> <p><{$one.name}>:<br /><{$one.contents}></p> <{/foreach}>从MVC的角度看,model中的类,相当于模型,它对应数据库中的每一个表,且在控制器中进行被操作。而html文件相当于视图层,在SP架构中表现问TPL文件目录中的文件,他的程序调用等操作在Controller层中完成。控制层对应于Controller目录中的类文件,是程序的核心所在。
相关文章推荐
- PHP学习笔记,自己动手写个MVC的框架
- CodeIgniter框架学习——基础MVC
- php Laravel框架学习(二) 之 Eloquent 基础
- 理解 PHP 中的 MVC 框架编程
- PHP学习笔记,自己动手写个MVC的框架 -- base所有代码
- 深入理解strus,根据MVC自己动手搭建Struts基础框架
- 【PHP】MVC 思想之 CI 框架的学习总结(一)
- 【PHP】MVC 思想之 CI 框架的学习总结(三)
- 我对php的mvc的一些理解,以及自己写的框架
- SpeedPHP框架学习-2.数据库CRUD操作和Smarty操作
- MVC (第二章) 基础框架理解
- php学习心得1:框架mvc
- PHP Laravel 框架学习笔记(一) 路由器 中间件 基础使用
- 我对php的mvc的一些理解,以及自己写的框架
- 【php框架学习】最简单的php mvc 模型框架实现
- 【PHP】MVC 思想之 CI 框架的学习总结(二)
- PHP学习系列之深入理解MVC
- mvc零基础学习一
- 爬虫 scrapy 框架学习 2. Scrapy框架业务逻辑的理解 + 爬虫案例 下载指定网站所有图片
- 框架基础学习之--详解web+maven+spring+mybatis+struts框架文件夹作用