本文章参考《php顶级框架zendframe开发实战》第四章内容,并完整实现...
首先将用到的css文件下载下来:http://download.csdn.net/download/unityoxb/4058802
解压后把default和common两个文件复制到public/skins目录下;
1、用到的数据库文件mysql.sql
create table if not exists `core_pages`( `id` int(10) unsigned not null auto_increment comment '页面唯一ID', `cid` int(10) unsigned not null default '0' comment '分类ID', `uid` int(10) unsigned not null default '0' comment '用户ID', `title` varchar(255) not null comment '页面标题', `body` text not null comment '内容', `status` tinyint(4) not null default '1' comment '是否发布', `createtime` int(11) not null default '0' comment '创建页面时间', `updatetime` int(11) not null default '0' comment '修改页面时间', `comment` tinyint(4) not null default '0' comment '页面是否评论功能', `start` tinyint(4) not null default '0' comment '页面级别', `top` tinyint(4) not null default '0' comment '置顶', primary key (`id`) )ENGINE=InnoDB default charset=utf8;
2、配置application.ini文件(hahacom/applicaton/configs)
立即学习“PHP免费学习笔记(深入)”;
主要配置zend Framework连接mysql
[development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1 resources.db.adapter = "PDO_MYSQL" resources.db.params.host = "localhost" resources.db.params.username = "root" resources.db.params.password = "root" resources.db.params.dbname = "test" --这是数据名称 resources.db.isDefaultTableAdapter = "TRUE" resources.db.params.driver_options.1002 = "SET NAMES UTF8;"
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : '<strong>development</strong>')); //修改成测试环境
执行命令:zf create model page
会自动生成一个models/Page.php文件
<?php
class Application_Model_Page
{
protected $_name = 'core_pages';
public $result;
public function getPage($where = array())
{
$db = Zend_Db_Table::getDefaultAdapter();
// $db = $this->getAdapter();
$select = $db->select();
/*if($where != null)
{
//$select->where(' star = ? ', $where);
//$sql = $db->quoteInto("select * from `core_pages` where `star`= ?", $where);
//$result = $db->query($sql);
$select->from('core_pages','*')->where('star = ?', $where)->limit(1);
}*/
$select->from('core_pages','*');
if(count($where)>0)
{
foreach($where as $key=>$value)
$select->where($key.' = ?',$value);
}
//$row = $result->fetch();
$row = $db->fetchAll($select);
if($row)
{
return $row;
}
else
{
echo "=================";
return null;
}
}
public function getPages($where = null)
{
$db = Zend_Db_Table::getDefaultAdapter();
if(is_numeric($where))
{
//$row = $db->find($where)->current();
$select = $db->select();
$select->from('core_pages','*');
$select->where('id = ?', $where);
$row = $db->fetchRow($select);
}
if(is_array($where) && count($where)>0)
{
$select = $db->select();
$select->from('core_pages','*');
foreach($where as $key=>$value){
$select->where($key.'=?', $value);
}
$row = $db->fetchAll($select);
}
if($row)
{
return $row;
}
else
{
echo "=================";
return null;
}
}
}
?>
执行命令: zf create controller news 会自动生成controllers/NewsController.php
<?php
class NewsController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
$modelPage = new Application_Model_Page();
//$star = 1;
$where = array('top'=>1, 'comment'=>1);
$newsStar = $modelPage->getPage($where);
//print_r($newsStar);
$this->view->News = $newsStar;
//$this->view->name = "hahaha";
}
}
会自动生成 controllers/PageController.php
<?php
class PageController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
// action body
}
public function detailAction()
{
// action body
$id = $this->_request->getParam('id');
$modelPage = new Application_Model_Page($id);
//if($modelPage == null)
//print_r('==============================');
//print_r($id);
//print_r($modelPage);
$page = $modelPage->getPages($id);
$this->view->page = $page;
}
}
/views/scripts/news/index.phtml
<?php
echo "<h3>".$this->News[0]['title']."</h3>";
echo $this->News[0]['body'];
//echo $this->name;
if($this->News)
{
/*echo "<ul>";
// print_r($this->News);
foreach($this->News as $val)
{
echo "<li>"."<u>".$val['title']."</u>"."</li>";
}
echo "</ul>";
*/
echo "<ul class = 'listNews'>";
echo $this->partialLoop('row_pages.phtml', $this->News);
echo "</ul>";
}
?>
<li>
<a href = "/page/detail/id/<?php echo $this->id; ?>"><?php echo $this->title; ?></a>
发表时间: <?php echo date('Y-m-d', $this->createtime); ?>
</li>
<?php
echo "<h2>".$this->page['title']."</h2>";
echo "发表:".date('Y-m-d', $this->page['createtime'])."";
echo "<hr/>";
echo $this->page['body'];
?>

点击链接:

版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了php利用zendframework编程实例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号