layout()->content ?>
本文章参考《php顶级框架zendframe开发实战》第四章内容,并完整实现...
首先将用到的css文件下载下来:http://download.csdn.net/download/unityoxb/4058802
解压后把default和common两个文件复制到public/skins目录下;
/layout/scripts/layout.phtml
partial('header.phtml');
?>
layout()->content ?>
partial('footer.phtml') ?>
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)
主要配置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') : 'development')); //修改成测试环境
执行命令:zf create model page
会自动生成一个models/Page.php文件
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
1, 'comment'=>1);
$newsStar = $modelPage->getPage($where);
//print_r($newsStar);
$this->view->News = $newsStar;
//$this->view->name = "hahaha";
}
}
会自动生成 controllers/PageController.php
_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
".$this->News[0]['title']."";
echo $this->News[0]['body'];
//echo $this->name;
if($this->News)
{
/*echo "";
// print_r($this->News);
foreach($this->News as $val)
{
echo "- "."".$val['title'].""."
";
}
echo "
";
*/
echo "";
echo $this->partialLoop('row_pages.phtml', $this->News);
echo "
";
}
?>
title; ?>
发表时间: createtime); ?>
".$this->page['title']."";
echo "发表:".date('Y-m-d', $this->page['createtime'])."";
echo "
";
echo $this->page['body'];
?>
点击链接: