发新话题
打印

[强推] Zend Framework 留言本实战 -- 前期准备

本主题由 tomsou 于 2008-4-7 17:36 设置高亮

[强推] Zend Framework 留言本实战 -- 前期准备

二、前期准备

      2.1 配置apache的mod_rewrite
      ZF中为了实现MVC模式,对整个应用的所有请求全部通过一个启动文件(一般是根目录下的index.php)来分配到不同的控制器进行处理(Zend_Controller_Front实现了Front Controller设计模式,所有的请求都通过front controller(前端控制器)并分发(dispatch)到不同的控制器来处理,分发的过程基于请求的URL。),因此需要对操作类URL进行URL重写,以下对apache的mod_rewrite模块进行设置。
      先可以通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。
      如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的"#"号删除即可。如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

      2.2 让apache服务器支持".htaccess"
      如何让自己的本地APACHE服务器支持".htaccess"呢?其实只要简单修改一下apache的httpd.conf设置就可以让APACHE支持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
改为
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
就可以了

      2.3 建立开发目录
      假设我们开发的目录为 C:/webroot/guestbook ,以下文件夹以 “./” 代替。我们采用ZF官方手册上推荐的结构。
      ./application                                    应用代码文件夹,按照MVC模式建立结构
            controllers/                               MVC控制器文件夹,放置ZF的控制器层文件
            models/                                    MVC模型文件夹,放置ZF的模型层文件
            views/                                       MVC视图文件夹,放置ZF的视图层文件
                  filters/                                 视图辅助--过滤器类文件夹
                  helpers/                              视图辅助--视图辅助类文件夹
                  scripts/                               视图文件夹
      ./library                                           ZF框架代码文件夹,将ZF安装包解压后的Zend文件夹放入其中
      ./public                                           供前端访问的文件夹,主要用于存放图片、js脚本和css样式单
            images/                                    图片文件夹
            scripts/                                     脚本文件夹
            styles/                                      样式表文件夹
      也许有一些文件夹的解释大家还不是很明白,不着急,在以后编码过程中,会慢慢理解。

      2.4 建立 “.htaccess” 文件
      如果是在windows平台下,刚开始还真不知道怎么建立".htaccess"文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:
      三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:(1)用记事本打开,点击文件--另存为,在文件名窗口输入".htaccess",注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。(2)进入cmd命令窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。
      那么我们须要建立几个“.htaccess” 文件,里面又输入什么内容呢?基本的原则是这样,根目录必须有一个,用于重定向(URl重写)所有的请求都会转到到index.php(交给前端控制器);"./application"文件夹下须要一个,用于拒绝所有针对该文件夹内容的直接访问(比如 http://localhost/application/models/User.php),这样做是因为所有访问请求必选通过前端控制器来分配访问,其次为了安全;“./library”文件夹下的“.htaccess”同前;"./public"文件夹下必选建一个,因为这个文件夹的文件全部是供前端直接访问的,因此须要撤销URl重写。以下是4个“./htaccess”文件的内容:
      ./.htaccess
            RewriteEngine on
            RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
      ./application/.htaccess
            deny from all
      ./library/.htaccess
            deny from all
      ./public
            RewriteEngine off
     实际上,apache的url重写功能也可以直接在httpd.conf文件中进行设置,这里就不具体讲了,网上相关的教程也很多。

[ 本帖最后由 tomsou 于 2008-4-7 17:27 编辑 ]

TOP

发新话题