日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

ZendFramework的介绍、安装和实例运行

發布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ZendFramework的介绍、安装和实例运行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

框架主要是為了提高開發效率、使得團隊開發人員之間的更容易溝通和協作以及提高應用程序的可維護性。學習了解一種或多種框架對實際項目的應用會有所幫助。
一、ZendFramework 的介紹:
ZendFramework(以下簡稱:ZF),以 Model-View-Controller(MVC)三層架構展開。將程序中的不同的部分獨立開來,使得程序的開發互不影響和后期維護更加容易。
ZF框架的設計思想和策略:
ZF采用了前端控制器(Front Controller)設計模式,它把所有用戶的請求發送到一個中心控制點,具體做法就是所有的請求都需要通過index.php入口(單入口可以配合Web服務器來實現,后面會提到)。然后通過 index.php 中的腳本把用戶請求分發到對應的控制器中,控制器負責調用模型中的邏輯(Model)和用戶界面(View)的呈現。

二、ZendFramework 的安裝、簡單實例
系統要求:ZendFramework-1.9.3 、CentOS 5.2+
1、下載 ZF(http://framework.zend.com/download/latest )
2、解壓將其庫類放到項目的根目錄中;如:/var/www/nbaplayers/library/Zend......
3、創建項目的基本目錄:

?
4、實例:
4.1、新建文件 /var/www/nbaplayers/index.php:
<?php
error_reporting(E_ALL|E_STRICT);//語句打開了錯誤輸出開關,用于代碼調試,正式發布的代碼應該屏蔽錯誤信息。
date_default_timezone_set('Asia/Shanghai');//設定時區
set_include_path('.'.
??? ??? ??? ??? PATH_SEPARATOR.'./library'.? //用于設定類庫的包含路徑,ZF的系統類庫就是在這里指定的。
??? ??? ??? ??? PATH_SEPARATOR.'application/models/'.??? //包含自定義類文件。
??? ??? ??? ??? PATH_SEPARATOR. get_include_path()
??? ??? ??? ??? );
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();? //自動加載類

$frontController = Zend_Controller_Front::getInstance();//取得Zend_Controller_Front類實例
$frontController->setControllerDirectory (array(
??? ??? "default" => 'application/controllers',
??? )); // 指定一組控制器文件路徑,參數是數組。設置前端控制器,主要是讓控制器知道我們的的控制器類在哪里
$frontController->throwExceptions(true);//讓前端控制器拋出所有的異常。 默認情況下,前端控制器將捕獲這些異常并將其人傳遞到 ErrorController 控制器,在開發過程,這樣錯誤容易發現。但在實際運行中,不能將這些錯誤直接顯示給前端用戶。
$frontController->setParam('noViewRenderer', true);// 指明不使用視圖,false 是默認值。
$frontController->setParam('noErrorHandler', false);
$frontController->dispatch(); //程序執行分發
?>
注意:如果你用的ZF是之前的版本的話,會出現以下提示:
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 /usr/local/zend/share/ZendFramework/library/Zend/Loader.php on line 207
那么將:
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload(); // 自動加載類
修改為:
require_once 'Zend/Loader/Autoloader.php';? // 自動加載類
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$loader->suppressNotFoundWarnings(false);
就好了。具體可以看看ZF的官方說明。在Autoloader.php文件中,有一方法:
protected function __construct()
{
??? spl_autoload_register(array(__CLASS__, 'autoload'));
??? $this->_internalAutoloader = array($this, '_autoload');
}
用來實現自動加載類文件。
* spl_autoload_register — Register given function as __autoload() implementation
//設置對象的自動載入


4.2、新建文件 /var/www/nbaplayers/application/Controllers/IndexController.php:
<?php
class IndexController extends Zend_Controller_Action
{
????? function indexAction()
????? {
??????? echo "Hello ZendFramework!";
????? }
}
?>

4.3 新建文件 /var/www/nbaplayers/.htaccess
RewriteEngine on
RewriteRule !/.(js|ico|gif|jpg|png|css)$ index.php

以上是說,啟動 RewriteEngine 引擎,并把對除js、ico、gif、jpg、png、css等圖片、js腳本、css的請求外都得經過index.php文件。當然上面的實例不創建這個也可以正常運行,但如果你使用ZF開發實際的項目,這就是必須的了。

4.4、運行:在瀏覽器地址欄輸入http://www.domain.com回車,瀏覽器將顯示結果:
Hello ZendFramework!
OK 完成!

總結

以上是生活随笔為你收集整理的ZendFramework的介绍、安装和实例运行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。