modules 模块
models 模型
modules 对应路径控制的操作 都继承 Zend_Controller_Action,分前台(link)和后台(admin/link)控制器
models 对应表的类操作 都继承 class Common extends Zend_Db_Table
modules 每个动作方法对应一个URL
左侧菜单 :app\views\scripts\admin\script\common.js
admin/article/index
对应modeules下admin目录ArticleController.php的indexAction方法
=================================载入类文件
index.php
set_include_path('.' .PATH_SEPARATOR .'./library'.PATH_SEPARATOR .'./app/models/'.PATH_SEPARATOR .get_include_path());
//设置Zend Framework 自动载入类文件
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();//实现 Zend_Registry 自动转化成调用 Zend/Registry.php ,自动载入类文件
//*****************后期使用
//Zend_Loader::loadClass('Common_Plugin_Fckeditor');
//$oFCKeditor = new Common_Plugin_Fckeditor('content') ;
//来载入library 目录下的多级目录类文件
CategoryControler.php
require('CommonController.php');//得意于 index.php 的set_include_path
class Admin_CategoryController extends Admin_CommonController
{
var $category;
function init() {
parent::init();
$this->category = new Cate();
//Zend_Loader::loadClass('Common_Plugin_Fckeditor');
////$oFCKeditor = new Common_Plugin_Fckeditor('content') ;
//因为Cate.php是在models目录下,所以不必像上面那样loadclass来实例化
}
=======================初始化寄存器 和view
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
$registry = Zend_Registry::getInstance();
$config = new Zend_Config_Ini('./app/config/config.ini',null,true);
/*****************confing.ini 数组格式
[general]
db.adapter = PDO_MYSQL
db.host = localhost
db.username = root
db.password = 123456
db.dbname = zfblog
db.charset = utf8
db.prefix = zf_
[site]
st.domain = http://localhost/zf-blog
st.appdir = /zf-blog
st.sitename = pconline
st.keywords = ZFblog,Zend Framework开源blog,Zend Framework开源项目,ZF教程,Zend Framework最新教程,ZF项目源码下载,Zend
Framework项目源码下载
st.description = ZFblog,Zend Framework开源blog,Zend Framework开源项目,ZF教程,Zend_Framework最新教程,ZF项目源码下
载,Zend_Framework项目源码下载
st.version = 1.1
st.theme = g7_v5
*/
Zend_Registry::set('config',$config);
$view= new Zend_View();
Zend_Registry::set('theme', $config->site->st->theme);
$view->setScriptPath('./app/views/scripts/'.$config->site->st->theme.'/'); //模板文件位置
$view->setHelperPath('./app/views/helpers/','My_View_Helper');
$registry['view'] = $view;
//邮件配置
Zend_Registry::set('smtp',$config->mail->ml->server);
Zend_Registry::set('username',$config->mail->ml->username);
Zend_Registry::set('password',$config->mail->ml->password);
//*****************Controller.php文件调用:$this->view->keywords = $this->registry['keywords'];
==========================控制器
/*****************控制器一定要指定addModuleDirectory,这样来实现
http://localhost/zf-blog/admin/article/add自动到
./app/modules/admin/controllers/ArticleController.php 方法addaction()
http://localhost/zf-blog/link
自动找到
./app/modules/default/controllers/linkController.php 方法indexaction()
*/
s
$frontController = Zend_Controller_Front::getInstance();
$frontController->setBaseUrl($config->site->st->appdir) //设置基本路径
->setParam('noViewRenderer', true) //不采用官方view
->addModuleDirectory('./app/modules')
->setParam('useDefaultControllerAlways', true)
->setParam('noErrorHandler', true)
->registerPlugin(new Common_Plugin_MyAuth($auth, $acl))
->registerPlugin(new Zend_Controller_Plugin_ErrorHandler())
->throwExceptions(true) //false:关闭错误信息
->dispatch();
模板文件---嵌入php代码
<?php foreach ($this->paginator as $lv): ?>
<tr>
<td width="15%"><a class="editlink" href="#" title="点击编辑" alt="<?=$lv['id']?>|<?=$lv['name']?>|<?=$lv['url']?>|<?=$lv['logo']?>|<?=$lv['title']?>"><?=$this->escape($lv['name']); ?></a></td>
<td width="50%"><?=$this->escape($lv['title']); ?></td>
<td width="12%"><?=$this->escape($lv['typename']); ?></td>
<td width="8%"><?=$this->escape($lv['orderNo']); ?></td>
<td width="10%"><?=$this->escape($lv['isApp']); ?></td>
<td width="5%">
<a href="<?=$this->url(array('module'=>'admin','controller'=>'link','action'=>'delete','id'=>$lv['id']),null,true);?>" title="delete"><img src="<?=$this->tplpath;?>images/error.gif" border="0" /></a>
<?php
if($this->escape($lv['isApp'])=='未通过'){
?>
<a href="<?=$this->url(array('module'=>'admin','controller'=>'link','action'=>'app','id'=>$lv['id']),null,true);?>" title="delete"><img src="<?=$this->tplpath;?>images/correct.gif" border="0" /></a>
<?php
}
?>
</td>
</tr>
<?php endforeach;?>
=============================fck
<?=$this->editor;?>
* fck编辑器
*
* @param string $content
*/
function fckAction($content='')
{
//加载FCK类
Zend_Loader::loadClass('Common_Plugin_Fckeditor');
//实例化这个类
$oFCKeditor = new Common_Plugin_Fckeditor('content') ;
//这里是您放置FCK文件的路径.
$oFCKeditor->BasePath = $this->view->domain."/public/fckeditor/";
//FCK皮肤
$oFCKeditor->Config['SkinPath'] =
$this->view->domain.'/public/fckeditor/editor/skins/silver/' ;
$oFCKeditor->Width = '100%';
$oFCKeditor->Height = '600';
$oFCKeditor->Value = $content;
$this->view->editor = $oFCKeditor->CreateHtml();
}
===========================分页zend/view/helper/ paginationControl.php
<?=$this->paginationControl($this->paginator,'Elastic','page.php');?>
//page.php模板文件
//$this->paginationControl=====
zend/view/helper/ paginationControl.php
$link_arr = array();
foreach ($array as $key=>$value) {
$link_arr[$key]['id'] = $value['id'];
$link_arr[$key]['name'] = $value['name'];
$link_arr[$key]['url'] = $value['url'];
$link_arr[$key]['logo'] = $value['logo'];
$link_arr[$key]['title'] = $value['title'];
$link_arr[$key]['typename'] = $cate[$value['type']];
$link_arr[$key]['orderNo'] = $value['orderNo'];
$link_arr[$key]['isApp'] = $value['isApp']?'通过':'未通过';
}
$paginator = Zend_Paginator::factory($link_arr);
=======================================模板写法
<?php if (count($this->paginator)): ?>
<?php endif; ?>
<?php foreach ($this->paginator as $lv): ?>
<?php endforeach;?>
===============================zend cache
前台首页indexcontroller.php
if(!$array = $this->cache->load('indexlistBlog')) {
$array = $this->blog->listBlog();
$this->cache->save($array, 'indexlistBlog');
}
//取出链接类别
if(!$linktype = $this->cache->load('listLinktype')) {
$linktype = $this->linktype->listLinktype();
$this->cache->save($linktype, 'listLinktype');
}
//取出链接
if(!$linkarr = $this->cache->load('listLink')) {
$linkarr = $this->link->listlink();
$this->cache->save($linkarr, 'listLink');
}
Modules/default/controllers/CommonController.php Zend_Cache_Core 对象
class CommonController extends Zend_Controller_Action
{
var $cache;
function init() {
// 缓存配置
$frontendOptions = array(
'lifeTime' => 120, // 两分钟的缓存生命期
'automatic_serialization' => true
);
$backendOptions = array(
'cache_dir' => "data/cache/" // 放缓存文件的目录
);
// 取得一个Zend_Cache_Core 对象
$this->cache = Zend_Cache::factory('Core','File',$frontendOptions,$backendOptions);
}
==========================db
入口:
Zend_Registry::set('config',$config);
$dbAdapter = Zend_Db::factory($config->general->db->adapter,$config->general->db->toArray());
$dbAdapter->query("SET NAMES {$config->general->db->charset}");
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter',$dbAdapter);
Zend_Registry::set('dbprefix',$config->general->db->prefix); //写到寄存器方便其他地方调用
Models 下所有类文件blog.php link.php extends Common
<?php
class Common extends Zend_Db_Table
{
public function __construct()
{
$dbprefix = Zend_Registry::get('dbprefix');
$this->_name = $dbprefix.$this->_name;
parent::__construct();
}
}
====================== .htaccess
RewriteEngine on
RewriteRule !\.(js|ico|txt|gif|jpg|png|css|html|xml)$ index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
=======================目录结构
- 大小: 224.6 KB
分享到:
相关推荐
Zend Framework实例教程.pdf格式
ZendFramework 2 实例(增、删、改操作) 环境 php 5.3.5+ 设置环境变量 path apache 2.2 httpd.conf #====PHP支持==== PHPIniDir "C:/Program Files/php/" LoadModule ...
Table of Contents •Introduction to Zend Framework •Overview •Installation •Learning Zend Framework •Zend Framework Quick Start •Autoloading in Zend Framework •Plugins in Zend Framework •...
zendframework简单实例
ZendFramework 2.1.3 实例(增、删、改操作) 环境 php 5.3.5+ 设置环境变量 path apache 2.2 httpd.conf #====PHP支持==== PHPIniDir "C:/Program Files/php/" LoadModule ...
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-1.10.4
Zend Framework 2 官方教程汉化版
zend framework中英文手册,包含中文手册,英文手册两个版本。
zend framework zendframework manual 手册,Zend Framework手册 中文版,有一部分还没有汉化
ZendFramework入门实例源码,包括入门和数据库的简单操作
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 中文 手册 2008年12月01日.chm MD5: DD29C39D12E9C0B38FD3475A12D05B73 SHA1: 1A6BBBF9311013F2FF2BF97752332160ED767526 CRC32: 88210ABD Zend Framework 入门教程(简体中文1.52版)v0.12.pdf MD5:...
PHP 5.2 标准课程中级Zend Framework安装实例
这是基于Zend Framework 框架的CMS PHP 源代码。 安装时请下载Zend及zendx并将其放在library下。
Zend Framework 3 Developer's Guide 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
zendframework1.9中文版用户手册 直接从网站上下载的离线版本 非常方便 这个是.chm的 还有.exe的版本,方便大家使用。
ZendFramework 1.12.9 代码和文档.rar