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代码
paginator as $lv): ?>