2011年修改篇:Zend Framework 环境配置以及第一个Hello World 输出!

2011-05-01 11:12:35 by 【6yang】, 77 visits, 收藏 | 返回

我二天自学ZendFramework的DEMO(2011正版):链接 (下载后把.doc改成.rar) ;

网上讲的太千编一律了,于是我自己不断摸索;The follow as(跟我做吧):

2011年初级篇:Zend Framework 环境配置以及第一个Hello World 输出!

 

项目的目录结构

application/
controllers/
IndexController.php
models/
views/
scripts/
index/
index.phtml
helpers/
filters/
html/
.htaccess
index.php

第一步:确认你的PHP环境:
     1.请PHPer确认你的PHP版本是否在5.2.0以上..如果不是的话..请更新到5.2.0,否则.Zend Framework 好像用不了..我自己有试过.
     遇到过这样的问题..所以请你们自己测试一下..PHP源码最新版下载地址为:http://www.php.net/downloads.php.
     2.你的PHP环境配置好了之后,请打开php.ini文件,确认PDO扩展是否打开.如果没有请把extension=php_pdo.dll之前的;号给去掉.
     3.打开APACHE文件夹里面的httpd.conf文件.查找到apache的mod_rewrite模块,确认LoadModule rewrite_module modules/mod_rewrite.so是否打开.如果没有请去掉
       它前面的#号.


     4. 查找到httpd.conf文件,如果AllowOverride为None的话..请一定把None都改成all.这样你写.htaccess这样的文件才会起到作用..
     5.重新启动你的APACHE服务器..这样我们的PHP环境就可以运用Zend Framewrok了.
         
第二步:获取Zend Framework源码:
   1.下载最新版的Zend Framework源码.现在最新版好像是1.11.5.但是怕不稳定..所以请PHPer们自己决定用什么版本的.
大家可以在这里下载http://www.zendframework.com/download/latest最新版本的源码.

第三步:建立项目目录:
       我也不想去多说什么..我把图片给展示出来..是我的这个教程的项目目录...我在上面都有说明..大家可以按照下面的方式来建立目录..当然下面我会提供源码下载.
    不过建议朋友们一定要自己动手..才可以学到更多..我给也源码也只是给大家做为一个参考.

4. 重写规则

编辑 html/.htaccess 文件,加入下面两行:

RewriteEngine onRewriteRule !.(js|ico|gif|jpg|png|css)$ index.php

第四步:程序说明:这里我不多说什么.因为每个文件里面都有注解.我想不会有太难.要是有的朋友不懂请在博客上给我留言.我会关注这个博客..尽量回答你们的问题..谢谢..
    index.php(网站入口)文件及说明:

<?php
error_reporting(E_ALL|E_STRICT);
date_default_timezone_set('Asia/Shanghai');
 
set_include_path('.' .PATH_SEPARATOR .'./library'
.PATH_SEPARATOR .'./application/models/'.PATH_SEPARATOR .get_include_path());
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();//设置Zend Framework 自动载入类文件
$registry = Zend_Registry::getInstance();

//设置模板显示路径
$view = new Zend_View();
$view->setScriptPath('./application/views/scripts/');
$registry['view'] = $view;//注册View
//设置控制器
$frontController =Zend_Controller_Front::getInstance();
$frontController->setBaseUrl('/zendframework')//设置基本路径
->setParam('noViewRenderer', true)
->setControllerDirectory('./application/controllers')
->throwExceptions(true)
->dispatch();

    IndexController.php文件及说明:

<?php
class IndexController extends Zend_Controller_Action
{
function init()
{
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
 
}
 
function indexAction()
{
//这里给变量赋值,在index.phtml模板里显示
$this->view->bodyTitle = '<h1>Hello World!</h1>';
echo $this->view->render('index.phtml');//显示模版
}
 
}

    index.phtml模板文件说明:

<?=$this->bodyTitle; ?> <!-- 这里输出控制器里Action传过来的值:hello world -->


index.php 提示:
Notice: Zend_Loader::Zend_Loader::registerAutoload is
deprecated as of 1.8.0 and will be removed with 2.0.0; use
Zend_Loader_Autoloader instead in
/var/www/phpweb20/include/Zend/Loader.php on line 207
上网找了一下终于知道是因为从1.8.0版本开始不推荐使用Zend_Loader::autoload,Zend_Loader::autoload会在2.0.0版本中移除,推荐使用Zend_Loader_Autoloader来替代Zend_Loader::autoload.
于是照着网上的说法将
   
require_once('Zend/Loader.php');

    Zend_Loader::registerAutoload();
改为
   require_once 'Zend/Loader/Autoloader.php';
   Zend_Loader_Autoloader::getInstance();
但是结果提示
Fatal error: Class 'Templater' not found in /var/www/phpweb20/htdocs/index.php on line 35
我想应该是加载类失败吧,因为路径里面明明就有'Templater‘类,那问题应该还是出现在Zend_Loader_Autoloader中,于是继续百度,终于找到了一个完美的解决方案,o(∩_∩)o...哈哈
只要改为
require_once "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
就OK了!

来源:

PDF:http://www.enjoyphp.com/myfile/getting-started-with-zend-framework.pdf

 http://www.iceoweb.com/all/phpfm/zf/2010/0603/583.html

http://blog.sina.com.cn/s/blog_436732df0100iytt.html

 

我二天自学ZendFramework的DEMO(2011正版):链接 (下载后把.doc改成.rar) ;

分享到:
share

    图片原图

    loading

    loading