一、首先需要在机器上搭建好php环境,至于如何搭建,不在本文讨论范围,大家可以baidu下。。
二、在zend framework上下载 zend源码。
三、我使用EclipsePHP Studio 3编辑器,个人感觉还不错,有兴趣的朋友,可以在php100网站上下载。建立一个php项目,并建立目录
其中application下用来放mvc相关的类与模板文件,安全考虑,可以在application目录下建立一个.htaccess文件,内容为:deny from all 拒绝所有对此目录下文件的访问。
library下放zend类库。
public 下放css,js文件与图片。
在项目根目录下创建.htaccess文件。并放入如下内容:
RewriteEngine on
RewriteRule !/.(jgp|ico|gif|png|bmp|css|js)$ index.php
此段代码的意思为开启url重定向,并将所以访问此文件夹下的请求,转到index.php,css,js文件与图片除外。
为了让这段代码生效,还需要修改apache的httpd.conf配置文件,将LoadModule rewrite_module modules/mod_rewrite.so 前的#去掉,即取消注释,将AllowOverride None 改为AllowOverride All。允许目录下的配置文件覆盖httpd.conf上的配置。
四、在项目根目录下创建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 自动载入类文件
require_once "Zend/Loader/Autoloader.php"; //载入zend框架
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); //静态载入自动类文件
$registry = Zend_Registry::getInstance(); //静态获得实例
$view = new Zend_View(); //实例化zend 模板
$view->setScriptPath('./application/views/scripts/');//设置模板显示路径
$registry['view'] = $view;//注册View
//设置控制器
$frontController =Zend_Controller_Front::getInstance();
$frontController->setBaseUrl('')//设置基本路径
->setParam('noViewRenderer', true)
->setControllerDirectory('./application/controllers')
->throwExceptions(true)
->dispatch();
?>
五、在/application/controllers目录下创建一个php文件,命名为IndexController.php 文件内容为
<?php
class IndexController extends Zend_Controller_Action
{
function init(){
$this->registery=Zend_registry::getInstance();
$this->view=$this->registery["view"];
$this->view->baseUrl=$this->_request->getBaseUrl();
}
function indexAction(){
$this->view->world="hello,world"; //定义变量,此处的变量会在模板文件中用到
echo $this->view->render("index.html"); //读取模板文件并显示
}
}
?>
六、在/application/views/scripts文件夹下创建模板文件,index.html,文件内容 :
<?php echo($this->world) ?><!-- 此处的world即为IndexController中定义的变量 -->
七、假如在apache中将这个项目配置为www.test.com:90,则在浏览器中打开www.test.com:90,如果看到hello,world则表示配置成功。关于如何在apache中配置多个项目,请看我的另一篇文章。