本章让我们使用sp框架来制作一个简单的留言本程序(为什么选择这个,主要是他最简单,同时也可以体现speedphp功能,个人觉得简单才是美,也能更快的理解~),
利用实例来学习程序开发是非常有效的。同时,我们也可以体会一下实际网络项目的开发流程。
留言本例子下载,将会在以后提供给大家下载~
首先我们来看看,留言本的需求,也就是我们的程序将要实现什么功能:
1. 访问者可以查看留言首页(也就是留言列表,利用speedphp自带的进行分页)。
2. 访问者可以查看单一条留言的详细内容。
3. 访问者可以进行留言。
4.可以对留言的内容进行编辑和删除(暂时没有涉及权限问题)
5.可以回复留言
6.生成html静态文件
直接贴图了
(留言板我们主要是学习,我没有做美化,大家将就着看吧~~,重要的是大家可以学到东西)
此图请见安徽php社区:http://bbs.hfphp.org/thread-36-1-1.html 复制好麻烦的,哎。。
看截图大家可以看到,我们需要三个字段,一个留言者的名字,留言的标题,留言的内容,
同时,http://bbs.hfphp.org/每个留言有一个留言ID,此外,回复与留言字段都是放在一张表里面的,所以,我们需要一个区分标志字段,
综上,我们主要需要五个字段就够了,数据库设计如下~

`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(50) ,
`contents` varchar(200) ,
`name` varchar(20) ,
`fid` int(6),
PRIMARY KEY (`id`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
其中,fid为父id,是用来区分回复还是留言的,如果该条记录是的fid为0,则为普通的留言,否则,该记录为回复,fid记录着该回复的留言ID.
数据库建立好了,
至于首页的配置文件,在上一章中已经讲过了,这里就不再重复了,大家自己熟悉下配置文件啊,不要偷懒啊~
http://bbs.hfphp.org/
这里还要说明下,在实际的应用过程中建议大家把配置文件和首页文件分开,比如,我们往往会在根目录下面建立的一个config.php的文件代码如下:

return array(
// 数据库
'db'=>array(
'host' => 'localhost',
'login' => 'root',
'password' => 'jincon',
'database' => 'sp_company',
'prefix'=>'qy_'
),
//开启smarty
'view' =>array(
'enabled'=>TRUE,
'config' =>array(
'template_dir' => APP_PATH.'/template',
'complie_dir' => APP_PATH.'/tmp',
'cache_dir' =>APP_PATH.'/tmp',
'left_delimiter' =>'<{',
'right_delimiter' =>'}>',
),
),
//开启静态化
'html'=>array(
'enabled'=>TRUE,
),
);
?>
在首页index.php文件里,我们可以进行加载配置文件,代码如下:
<?php
header("Content-Type:text/html;charset=utf-8");
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
define("APP_PATH",dirname(__FILE__));
@date_default_timezone_set('PRC');
$spConfig = require(APP_PATH."/config.php");
require SP_PATH.'/SpeedPHP.php';
?>
但是,这里,我们依旧使用上一章讲的配置文件,只是告诉大家要学会灵活运用。
根据我们的设计要求,需要一个控制器,我们这里使用默认的控制器main,那么我们要在controller建立的main.php文件,同时,我们需要几个基本的动作(action)
class main extends spController
{
function index(){ // 这里是首页
}
function show(){ // 这里是查看留言内容
}
function write(){ // 这里是留言
}
}
控制器的框架建立好了,那么下面,我们开始编写模型层(model):
我们还要建立一个guestbook.php放到model目录里面,那是链接数据库所要做的。guestbook.php的代码很简单:
<?php
class guestbook extends spModel
{
var $pk = "id"; // 每个留言唯一的标志,可以称为主键
var $table = "guestbook"; // 数据表的名称
}
请注意,全部PHP文件都需要是UTF8编码,数据库也需要UTF8的,要统一下,不然可能会出现乱码的。
这里的需要注意的:所有模型必须要继承自spModel,这是speedphp框架的主要核心类。
http://bbs.hfphp.org/
同时还有要注意的是,一个框架都会有自己开发的规范,如果你需要使用这个框架,那么你必须要遵守这个框架的规范,当然现在的框架有很多,也有很多相似的地方,这是因为,框架的开发者往往都习惯遵守一些大家约定成俗的东西,这样的好处自然不言而明,只要有相关框架使用经验的开发人员就可以非常快的使用框架,所以,大家学完speedphp之后就可以快速的学习其他是框架。
大家知道,既然是框架,那么他就会有自己的规范,speedphp的框架要模型里面的类名要和文件名相同,否则会出错,speedphp会爆:路由错误,请检查是否存在该函数。
比如,class guestbook,他的文件名是guestbook.php,还有就是数据库的表名最好也要同名,以后会很方便滴~,而且也比较符合开发规范和有利于养成好的习惯。
下面的教程,我们将开始完善里面的功能,有问题大家及时更贴。。。。。
原创:安徽php社区: http://bbs.hfphp.org/thread-36-1-1.html
转载请注明出处,谢谢