暑假实习时开始接触php,和zend框架。正是到了动手才能有所突破的瓶颈,所以就把phper杂志里面的留言本程序改成了基于zend的面向对象实现。
首先是数据对象即留言实例对应于数据库中的表:message
class Messages extends Zend_Db_Table
{
protected $_name="message";
}
直接派生于zendframework中的Zend_Db_Table.只需指定数据库中的表即可。访问muysql数据库只需指定默认适配器:
$config = new Zend_Config_Ini('./application/config.ini', 'config');
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
config.ini文件中包含有访问数据库需要的信息:使用本地服务器,用户名,密码,和数据库的名称。
接下去就是定义控制器Controller和行为Action了。
这里要处理的东西不多,主要有两件:一是呈现已有的留言,一个是添加留言。分别在连个函数中处理
indexAction
从数据库中取得数据,传递给模板:
function indexAction()
{
/* require_once('./application/models/Messages.php');
$messages=new Messages();
$message=$messages->fetchAll();//Zend_Db_Table_Rowset Object
$this->view->Messages=$message;
*/
$db = Zend_Db_Table::getDefaultAdapter();
$sql = "SELECT * FROM `message` ORDER BY `id` DESC";
$result = $db->query($sql);
$this->view->Messages=$result->fetchAll();//array object
}
我采用了两种方式,因为数据库返回对象不同。被我注释掉的那种方式返回的$message含有很多的无用数据。获取数据是也只能以属性的方式获取。即使用操作符->。
后一种方式返回的是数组。只包含要显示的留言信息。
查看数组形式的数据可以用print_r函数检验。
addAction
完成数据的检验和插入数据库操作。
if($this->_request->isPost())
{
$username = $this->_request->getPost('username');
$content = $this->_request->getPost('content');
if($username!=''&&$content!='')
{
require_once('./application/function.inc.php');
$time = time();
$ip = get_client_ip();
$data = array(
'username'=>$username,
'content' =>$content,
'time'=>$time,
'ip'=>$ip,
);
require_once('./application/models/Messages.php');
$messages=new Messages();
$messages->insert($data);
$this->_redirect('/');
}
}
首先检测是不是提交的数据,入如果不是则显示留言的界面,是则完成数据库insert并重定向到index页面显示提交的所有留言。
其它部分可以参看我的源码。我的改写没有使用smarty模板,主要是因为自己不熟悉smarty和zend framework之间相互操作。对内容的过滤方面也没有做,filter部分内容还差不多一窍不通。请大家提供意见。
分享到:
相关推荐
基于Zend framework的投票系统的实现,自己写的,但是能运行
基于zend Framework的购物车系统的实现,自己写的,能运行,
这是基于Zend Framework 框架的CMS PHP 源代码。 安装时请下载Zend及zendx并将其放在library下。
基于Zend Framework 1.10.05 的留言本 使用了两张表,其实一张表也可以,用两张表关键是想习下怎么关联查询和关联删除。 主要功能有,添加留言,修改留言,删除留言(如果有回复用时也要删除该留言下的回复) AJAX...
Table of Contents •Introduction to Zend Framework •Overview •Installation •Learning Zend Framework •Zend Framework Quick Start •Autoloading in Zend Framework •Plugins in Zend Framework •...
Whether you are learning Zend framework from scratch or looking to sharpen up your skills from previous versions, Zend Framework 2 Application Development will help you to harness the power of Zend ...
基于ZendFramework的MVC参考实现,包含,事例程序,需求、构建
ZendFramework-1.10.4
Zend Framework 2 官方教程汉化版
ZendFramework 最新版本,MVC
zend framework中英文手册,包含中文手册,英文手册两个版本。
zendframework1.9中文版用户手册 直接从网站上下载的离线版本 非常方便 这个是.chm的 还有.exe的版本,方便大家使用。
zend framework zendframework manual 手册,Zend Framework手册 中文版,有一部分还没有汉化
Zend Framework 中文 手册 2008年12月01日.chm MD5: DD29C39D12E9C0B38FD3475A12D05B73 SHA1: 1A6BBBF9311013F2FF2BF97752332160ED767526 CRC32: 88210ABD Zend Framework 入门教程(简体中文1.52版)v0.12.pdf MD5:...
zend framework zend framework zend framework zend framework zend framework zend framework zend framework
PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好PHP zend framework 教程 很好...
基于Zend Framework+smarty 制作的博客,可供Zend Framework初手学习的一个案例
zendframework留言分页 mysql 数据库 利用里面的分页类
Zend Framework 3 Developer's Guide 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
超简单基于zendframework的留言板功能包括:添加留言,删除留言,修改留言,回复留言