登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zczhangchi 的博客

学习笔记

 
 
 

日志

 
 

OOPHP开源博客:Zend Framework 1.8或1.9版本以上配置教程(转)  

2009-10-30 11:26:12|  分类: php资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://www.oophp.cn

很长时间都没有写过Zend Framewrok的教程了...有很多朋友都希望我可以写一个ZF1.8版本以上配置的教程.今天在家里没有什么事情.
就自己来写一下这方面的教程,我想有很多Zend Framework的初学者希望有这么一个较完整的教程....在此我也希望有更多的PHPer,可以
加入学习ZF框架的行列,以提高我们大家整体水平...好了,费话不多说...开始下面的教程:
1.参考我去年第一篇ZF初级教程的前二步,这是基本学习的开始.教程地址在此:http://www.oophp.cn/article/view/id/156

2.第三步:建立项目目录(下面这几步就和上面有比较大的区别:).
这里我也是以图片的方式来说明我这教程的项目目录.大部分是不会有更改的..大家可以参考下面这个图片说明来建立你自己的
项目目录,最好和我的一样.这样做的好处..就是先模仿别人,等自己理解了再自己创造.如果模仿成功,对自己学习的信心是一个极大的提高.因此,我劝告一些朋友,最好的学习方式就是先模仿,等自己有实力了,理解了再去超越!
  OOPHP开源博客:Zend Framework 1.8或1.9版本以上配置教程(转) - zc - zczhangchi 的博客
3.第四步:和朋友们看到的教程一样,同样的模式就是:程序说明.
(1).首先:对application.ini配置文件做详细说明,因为这里是1.6版本与1.8版本的最大区别!注:#号为说明解释.

 
[production] #PHP错误是否显示,您所在时区,bootstrap引导文件配置(1为true,0为false) phpSettings.error_reporting = 8191phpSettings.DATE.timezone   = "Asia/Shanghai"phpSettings.display_startup_errors =1phpSettings.display_errors = 1bootstrap.path = APPLICATION_PATH "/Bootstrap.php" #后面会对这个引导文件做相应说明bootstrap. style="color: rgb(255,0,0)"<"Bootstrap" #这个名称请对应到上面Bootstrap.php文件中的类  #项目载入的模块,插件,错误提示信息配置resources.FrontController.moduleDirectory = APPLICATION_PATH "/modules"resources.FrontController.moduleControllerDirectoryName = "controllers"resources.FrontController.defaultModule = "default"resources.FrontController.plugins.common = "Custom_Controller_Plugin_Layout"                              resources.FrontController.noErrorHandler = 1resources.FrontController.throwExceptions  = 1#resources.FrontController.noViewRenderer=false #网站页面标题,编码以及ViewHelper的设置(这些可有可无.我们可以在不同的模块中设置不同)resources.view.title  = "Kylingood"resources.view.encoding   = "UTF-8"resources.view.helperPathPrefix = "Custom_View_Helper_"resources.view.helperPath  = "Custom/View/Helper/" #网站前台模块(不同模块对应不同layout,与不同的ViewHelper)resources.view.params.DEFAULT.basePath = APPLICATION_PATH "/modules/default/views/"resources.view.params.DEFAULT.helperPathPrefix  = "Custom_View_Helper_Default_"resources.view.params.DEFAULT.helperPath  = "Custom/View/Helper/Default/"resources.view.params.DEFAULT.layout  = "default"resources.view.params.DEFAULT.layoutPath  = APPLICATION_PATH "/modules/default/views/layouts" #用户后台模块(同上)resources.view.params.user.basePath = APPLICATION_PATH "/modules/user/views/"resources.view.params.user.helperPathPrefix  = "Custom_View_Helper_User_"resources.view.params.user.helperPath  = "Custom/View/Helper/User/"resources.view.params.user.layout  = "default"resources.view.params.user.layoutPath  = APPLICATION_PATH "/modules/user/views/layouts" #您数据库的配置参数resources.db.adapter=PDO_MYSQLresources.db.params.host ="localhost"resources.db.params.username ="root"resources.db.params.password ="uniono"resources.db.params.dbname ="blog"resources.db.params.prefix ="oophp_"resources.db.isDefaultTableAdapter = TRUEresources.db.params.driver_options.1002 = "SET NAMES UTF8;" #网站多语言配置(前期学习可以不管,甚至于去掉)resources.translate.registry_key = "Zend_Translate"resources.translate.adapter = arrayresources.translate.options.scan = "directory"resources.translate.locale = "zh_CN"resources.translate.data.zh_CN  = APPLICATION_PATH "/languages/zh_CN.php"resources.translate.data.en_US  = APPLICATION_PATH "/languages/en_US.php" #网站生成的日志(前期学习可以不管,甚至于去掉)[logger]priority = 7file = "log/debug.txt";EMERG=0;ALERT=1;CRIT=2;ERR=3;WARN=4;NOTICE=5;INFO=6;DEBUG=7;type = firebug;stream,firebug #网站生成Cache配置(前期学习可以不管,甚至于去掉)[cache]type = filedir =APPLICATION_PATH"/cache/"pagedir =APPLICATION_PATH"/cache/page/"lifetime =7200automatic_serialization = TRUE 
(2)其次:对Bootstrap.php引导文件类做相应的说明.同时朋友们也可以参考PHPChina论坛里框架讨论区一位kims写的相应教程.地址为:kbs.kimbs.cn/blog/list/post/8/title/building-multi-modules-and-multi-templates
-application-using-Zend_Application
<?phpclass Bootstrap extends Zend_Application_Bootstrap_Bootstrap{      //读取application.ini配置文件,并对view进行初始化的设置    protected function _initView()    {        $options = $this->getOptions();        //print_r($options);        $viewOptions = $options['resources']['view'];        $view = new Zend_View($viewOptions);        if (!empty($viewOptions['params'])) {            foreach ($viewOptions['params'] as $key => $value) {                $view->$key = $value;            }        }        //print_r($viewOptions);        $view->env = $this->getEnvironment();        $view->bootstrap = $this;        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');        $viewRenderer->setView($view);       //视图助手路径 $view->addHelperPath($viewOptions['helperPath'],$viewOptions['helperPathPrefix']);        return $view;    }     //同理设置DB配置信息   protected function _initDB()    {     $options = $this->getOption('resources');        $options = $options['db'];      $resources = $this->getPluginResource('db');        $db = $resources->getDbAdapter();  Zend_Db_Table::setDefaultAdapter($db);  Zend_Registry::set('dbAdapter',$db);     Zend_Registry::set('dbprefix',$options['params']['prefix']);     }    //同理设置cache(前期学习可以不用..可以去掉)    protected function _initCache()    {        $config = new Zend_Config_Ini(APPLICATION_PATH."/configs/application.ini","cache");        $frontendOptions = array('lifetime' =>$config->lifetime,'automatic_serialization' =>$config->automatic_serialization);        $backendOptions = array('cache_dir'=>$config->dir);        $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);        Zend_Registry::set('coreCache',$cache);    }     //同理设置多语言(前期学习可以不用..可以去掉)    protected function _initTranslate()    {          $options = $this->getOption('resources');        $options = $options['translate'];        if (!isset($options['data'])) {            throw new Zend_Application_Resource_Exception('对不起,没有找到语言文件!');        }        $adapter = isset($options['adapter']) ? $options['adapter'] : Zend_Translate::AN_ARRAY;        $session = new Zend_Session_Namespace('locale');        if ($session->locale) {           $locale = $session->locale;        }else {            $locale  = isset($options['locale'])                           ? $options['locale']                         : null;        }        $data = '';        if (isset($options['data'][$locale])) {            $data = $options['data'][$locale];        }        $translateOptions = isset($options['options'])                                      ? $options['options']                                     : array(); Zend_Registry::set('Zend_Translate', $translate);         return $translate;     }}
(3)最后:就是关于index.php入口文件的说明了.有前面二步的操作与设定.index.php入口文件相对于ZF1.6版本来说.是很简单的:
<?php@header('Content-type:text/html;charset=UTF-8');session_cache_limiter('private, must-revalidate'); // 定义项目根目录defined('PROJECT_ROOT')|| define('PROJECT_ROOT',realpath(dirname(__FILE__))); // 定义网站访问路径.例如define('WEB_ROOT', 'http://127.0.0.1/oophp/');define('WEB_ROOT', 'http://'.$_SERVER['HTTP_HOST'].'/'); define('TABLE_PRE','oophp_');//数据表前缀,<--如果有的话.// 设置网站文件目录defined('APPLICATION_PATH')|| define('APPLICATION_PATH',PROJECT_ROOT . '/app'); // Define application environmentdefined('APPLICATION_ENV')|| define('APPLICATION_ENV',(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV'): 'production')); //网站目录包含的路径设置set_include_path(implode(PATH_SEPARATOR, array(    PROJECT_ROOT.'/library',    PROJECT_ROOT.'/app/modules/', PROJECT_ROOT.'/app/models/',    get_include_path(),)));  //载入Zend_Application文件类require_once 'Zend/Loader/Autoloader.php';require_once 'Zend/Application.php';Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //创建我们的应用,$application = new Zend_Application(    APPLICATION_ENV,    PROJECT_ROOT.'/app/configs/application.ini'); //var_dump($application);   try {   $application->bootstrap()->run();}catch (Exception $e) {   //调试时,抛出错误提示   echo '出现错误了';   echo nl2br($e->__toString());}
第五步,就是和原来教程一样.创建一个IndexController.php控制器,建立相应的View显示页.如果成功输出你想要的.那么恭喜你,你已经配置成功..最后,整个文件的源码提供上来.因为我空间大小的关系.我没有上传包含ZF的源码...注意:在library里面,没有Zend这个文件夹,请自己下载Zend Framework1.8以上,放在library文件夹下面...到这里.一个简单的配置教程又要结束了.....希望对有帮助的朋友可以给点支持....请经常关注一下这个博客...嘿嘿....当然要是有朋友希望加入教程的编写中...我也很乐意.....最后,谢谢大家.....源码和图片这二天整理出来...因为刚到北京工作...很多事要处理~~~  OOPHP开源博客:Zend Framework 1.8或1.9版本以上配置教程(转) - zc - zczhangchi 的博客源码下载地址:http://www.oophp.cn/public/zendframework1.9.rar
  评论这张
 
阅读(200)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018