程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> zend framework 環境配置

zend framework 環境配置

編輯:PHP綜合
框架主要是為了提高開發效率和支持多人團隊開發而發明的。傳統的平面式開發總是讓每個軟件項目從零開始,程序員不得不重復“制造輪子”的工作;而界面 (Html+CSS+Javascript)與程序邏輯的混雜使程序員與界面制作的角色很難分離開來,這有可能使得應用程序在其生命周期中變得無法維護。    ZF的做法是,為了提高應用程序的可維護性,它將程序的代碼分成如下三個不同的部分(通常也是獨立的文件):    模型(M):應用程序的模型部分。關心的是顯示的數據的細節。模型通常關注的是業務邏輯,以及如何從數據庫中存取數據。在具體的代碼中表現為一個一個不同的類,可以看做是一個用戶自定義的類庫。    視圖(V):視圖關心的是用戶顯示的內容,它通常是Html。    控制器(C):控制器將模型和視圖結合起來,保證將正確的數據顯示到頁面上。    也就是說,Zend Framework使用Model-VIEw-Controller(MVC)架構。它將程序中不同的部分獨立開來,使得應用程序的開發和維護變得更加容易。    1,ZF框架的設計思想和策略    ZF采用了前端控制器(Front Controller)設計模式,它把所有用戶的請求發送到一個中心控制點,具體做法就是所有的請求都需要通過index.php進入。然後通過 index.php中的腳本把用戶請求分發到對應的控制器中,控制器負責調用模型中的邏輯和用戶界面的呈現。    2,Apache對ZF的支持    為了實現ZF的設計思想,需要Web服務器的支持。apache服務器是通過其mod_rewrite功能來實現的。    2.1配置mod_rewrite擴展需要去掉Apache的配置文件httpd.conf中以下語句前的注釋符號#,使配置生效,即裝載mod_rewrite.so模塊。    LoadModule rewrite_module modules/mod_rewrite.so    還必須保證Apache已配置成支持.htaccess文件的模式。通常這可以通過在httpd.conf中將    <Directory "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs">        Options Indexes FollowSymLinks        #AllowOverride None        AllowOverride All        Order allow,deny        Allow from all    </Directory>    中的AllowOverride None改成AllowOverride All來實現。如果沒有正確配置mod_rewrite及.htaccess,那麼除了首頁外將不能看到任何其它的頁面。    保存配置,重啟apache服務,使配置生效。    2.2 .htAccess文件的內容:    RewriteEngine on    RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php    意思是,讓RewriteEngine引擎啟動,並把對除過js、ico、gif、jpg、png、css等圖片、JS腳本、CSS的請求,都發送到index.php文件中。    3,第一個程序的目錄結構    在htdocs下建立以下2個文件夾:phpchina1.com和app_phpchina1.com。    app_phpchina1.com下建立以下文件夾controllers、models、views。    這樣一來,典型的文件夾結構形如:    …htdocs    app_phpchina1.com    controllers    models    views    library      Zend    phpchina1.com    phpchina1.com文件夾下存放index.php和.htaccess文件;    Controllers存放控制器文件;    models存放控制器文件;    views存放視圖文件;    注意這只是ZF所推薦的文件夾的組織形式,但並不是必須的形式。實際項目中可以根據自己的具體情況靈活變通,這一點本教程的後面會詳細的探討。如果應用特別簡單,models和views文件夾也許也用不到,我們下面的“最簡單的ZF程序”即是如此。    4,最簡單的ZF程序:Hello PHPChina1.com!    激動人心的時刻到了,我們講運行我們的第一個ZF程序。    Index.php文件內容如下:    <?php      error_reporting(E_ALL|E_STRICT);      //設定時區      date_default_timezone_set('Asia/Shanghai');      //指明引用文件的路徑      set_include_path('.' .      PATH_SEPARATOR . '../library/'.      PATH_SEPARATOR . '../App_phpchina.com/models/'.      PATH_SEPARATOR . get_include_path());      include "Zend/Loader.php";      Zend_Loader::registerAutoload();      $fc = Zend_Controller_Front::getInstance();      $fc->setControllerDirectory(array(          "default"=>'../app_phpchina1.com/controllers',        ));      $fc->throwExceptions(true);      $fc->setParam('noVIEwRenderer', true);      $fc->setParam('noErrorHandler', false);      //開始運行程序      $fc->dispatch();    ?>    Controllers文件夾下IndexController.php文件的內容:    <?php    class IndexController extends Zend_Controller_Action    {        function indexAction()        {            echo "Hello PHPChina1.com!";        }        function noRouteAction()        {            echo  "Sorry, this page cannot be Access.";        }    }    ?>    運行:    在浏覽器地址欄輸入http://phpchica1.com:8080回車,浏覽器將顯示結果:    Hello PHPChina1.com!    如果看到上述信息,恭喜你,成功了!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved