[教學] Zend Framework 安裝筆記教學 (一)
原文:http://blog.wu-boy.com/2009/03/24/1060/
首先環境要先有 Apache + PHP + MySQL,我本身用 Appserv 懶人套件,我是用
AppServ 2.5.10 裡面包含底下:
* Apache 2.2.8
* PHP 5.2.6
* MySQL 5.0.51b
* phpMyAdmin-2.10.3
1. 先修改 apache 設定 httpd.conf
#LoadModule rewrite_module modules/mod_rewrite.so
改成 unmark 掉
LoadModule rewrite_module modules/mod_rewrite.so
修改 include_path 在 php.ini 裡面,或者是利用 set_include_path 來修改
2. 開始安裝 Zend Framework,首先去 官方網站下載,目前版本:Zend Framework
1.7.7,了解 MVC 架構。可以參考:透視 WebMVC 這篇。
3. 資料架構:
http://farm4.static.flickr.com/3441/3378705669_a8ba780edc.jpg

上面這張圖就是 Zend 的目錄架構圖,我們只需要注意 application,htdocs 跟
library 就可以了,底下介紹3個資料夾的個別用途:
application 資料夾:裡面包含 controllers (MVC之C),models (MVC之M) 跟 views
(MVC之V),Views 底下存放是要顯示的元件。
htdocs 資料夾:裡面 images (存放影像檔案),scripts (存放script檔) styles (存放
CSS檔) .htaccess (配合url rewrite之檔案) index.php (bootstrap file),這個資料
夾是對應到 Document root 的設定:
<VirtualHost *:80>
ServerName zf-tutorial.localhost
DocumentRoot /var/www/html/zf-tutorial/public
<Directory "/www/cs">
AllowOverride All
</Directory>
</VirtualHost>
這樣只要在網址列打入 zf-tutorial.localhost 就可以對應到 localhost,然後把網址
對應IP寫入到 Linux:/etc/hosts 或者是 Windows:
c:\\windows\system32\drivers\etc\hosts,library 裡面就單一個資料夾,裡面只有
Zend 這個套件,其實基本上也不用動它,升級的時厚紙需要換掉 Zend 這個資料夾即可
。
接下來設定 .htaccess 跟 index.php 因為 Zend Framework 會幫忙設定簡短網址,所以
我們必須要設定這兩個檔案來達到全部網址都轉向 index.php,這兩個檔案都必須放到
htdocs 資料夾裡面,底下就來說明這兩個檔案寫法。
htdocs/.htaccess
# Rewrite rules for Zend Framework
# 非 PHP 檔案不轉向到 index.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
# Security: Don't allow browsing of directories
# 關閉檔案列表功能
Options -Indexes
# PHP settings
# 關閉 magic_quotes_gpc register_globals
# 打開 short_open_tag
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag short_open_tag on
htdocs/index.php
<?php
/*
* 設定 Error Report 的等級
*/
error_reporting(E_ALL | E_STRICT);
/*
* 設定台北時區
*/
date_default_timezone_set('Asia/Taipei'); //設定時區為台北
/*
* 設定 include_path 固定把 library 資料夾加入 path 裡面
*/
define ('P_S', PATH_SEPARATOR);
set_include_path('.' .P_S .'../library' .P_S .'../application/models/' .P_S .get_include_path());
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
/*
* 設定 Controller 的資料夾
*/
$frontController = Zend_Controller_Front::getInstance();
$frontController->setControllerDirectory('../application/controllers');
/*
* 輸出程式
*/
$frontController->dispatch();
?>
很多程式碼,歡迎閱讀全文版:http://blog.wu-boy.com/2009/03/24/1060/
--
Appleboy Blog: http://blog.Wu-Boy.com 電腦技術、美食介紹、旅遊資訊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.162.162
※ 編輯: appleboy46 來自: 219.87.162.162 (03/24 12:14)
推
03/24 16:03, , 1F
03/24 16:03, 1F
→
03/24 19:18, , 2F
03/24 19:18, 2F
→
03/25 13:37, , 3F
03/25 13:37, 3F
→
03/25 13:38, , 4F
03/25 13:38, 4F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章