最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Zend?Framework框架等常用php框架中存在的問題

 更新時間:2022年09月29日 17:05:50   投稿:mdxy-dxy  
這篇文章主要介紹了Zend?Framework框架等常用php框架中存在的問題

從Zend Framework v0.13版本開始,我就開始學(xué)習(xí)使用Zend Framework。當(dāng)時公司的一個項(xiàng)目也恰好用到了Zend Framework。到了0.6的版本之后就再沒有關(guān)注細(xì)節(jié)了。前些日子聽說Zend 公司將在5月份正式推出Zend Framework,今天特意叫同學(xué)下載下來測試。

  最新版本是0.93的,測試發(fā)現(xiàn)Zend Framework框架框架越來越傻瓜式了。很多東西都直接封裝在Zend Framework框架的library里面。你只要知道如何調(diào)用就OK拉。和之前的版本詳細(xì)的確有比較大的變化,也增加了比較多功能。
  首先,Zend.php不見了,取而代之的是一個Zend_load類,放在load.php里面。
  第二、庫類的加載更加方便了。之前的Zend Framework框架要在子目錄下使用是比較麻煩的?,F(xiàn)在可以直接在子目錄下使用,而且現(xiàn)在也可以不通過mod_rewrite來使用,可以通過http://path/to/site/controller/action來訪問,類似我在《回答PHPCHINA上的幾個問題:URL映射 》談到的URL映射。
  第三、把試圖直接集成到了Controller里面,方便調(diào)用。不過有個不好的地方就是要按照Zend Framework框架的要求來規(guī)范程序的目錄結(jié)構(gòu)。
  另外還增加了很多功能,比如說訪問控制等等??傊兓艽?。今天晚上我也只是大概的看了下。

  對于Zend Framework框架,cakephp等等框架,我覺得大家在學(xué)習(xí)的時候最好能明白框架的基本原理,所謂“萬變不離其中”??蚣鼙旧砭褪呛芎唵?,完全沒有Zend Framework框架等之類這樣復(fù)雜,它們只是把細(xì)節(jié)處理很完善,同時要做到通用,規(guī)范、功能強(qiáng)大,所以就復(fù)雜了。關(guān)于框架的基本原理,我推薦大家上phpit.net上看一篇文章,關(guān)于如何使用PHP5搭建一個簡單的MVC框架的(在喜悅國際村上有翻譯),或者可以看看我的幾篇文章《PHP實(shí)現(xiàn)MVC開發(fā)得最簡單的方法》系列文章。

  之前在chinaunix上有一個帖子,討論在PHP項(xiàng)目中使用對象和過程的優(yōu)勢和不足,討論的非常不錯。有支持對象的,也有認(rèn)為非對象的開發(fā)更加符合WEB開發(fā)的特點(diǎn),有更好的性能。
  我個人是非常支持對象式開發(fā)的,尤其在PHP5環(huán)境中(因?yàn)镻HP5的對象和PHP4的對象完全不是一回事,這個看看Zend 引擎就知道了)。但是帖子中說到的幾點(diǎn)也很有道理:比如“OOP的形式卻無故要裝入很多無關(guān)的函數(shù)”。WEB開發(fā)是非常強(qiáng)調(diào)性能的,而PHP是一種解釋性語言,如果include過多的代碼是很影響性能的。這個問題在Zend Framework,CackePHP,F(xiàn)leaphp和我的框架PHPbean中都存在。

  比如說一個indexController,這里使用Zend Framework做例子。代碼如下:

<? 
class indexController extends Zend_Controller_Action { 
     
    function init(){ 
        $this->initView(); 
    } 
     
    function indexAction(){ 
        //echo 'index/index'; 
        $this->view->title='hello World!'; 
        $this->render(); 
    } 
     
    function testAction(){ 
        echo 'index/test'; 
    } 
     
    function showAction(){ 
        echo 'index/show'; 
    } 

?> 

    比如說我們訪問index/index,那么testAction()和ShowAction()方法的內(nèi)容就完全是多余的。在實(shí)際開發(fā)中按照這種思路,一般是一個功能模塊對應(yīng)一個controller,比如說用戶就對應(yīng)一個userController,然后里面有登錄、退出、注冊、列表、詳細(xì)顯示等等多種方法。當(dāng)一個項(xiàng)目一大的時候一個controller可能就幾K到十幾K。那這樣的模式就非常的不好。


  在JAVA的struts中,就采用了完全不同的方式,他是一個action對應(yīng)一個文件。我覺得這是一個很好的參考方法。

  我覺得PHP5的話,使用面對對象更加何時??梢哉f面對過程能實(shí)現(xiàn)的,面對對象都能實(shí)現(xiàn),而且可以實(shí)現(xiàn)的更好。但重要的一點(diǎn)是:采用面對對象的思維來使用面對對象,而不是用面對過程的思維來寫面對對象的程序! 

相關(guān)文章

最新評論

岳西县| 文山县| 叙永县| 常熟市| 南汇区| 拜泉县| 台中市| 汨罗市| 淮南市| 永登县| 石台县| 兴业县| 天全县| 蒙阴县| 新宁县| 宝坻区| 彭泽县| 息烽县| 小金县| 綦江县| 石柱| 德令哈市| 中江县| 万山特区| 南城县| 海原县| 道孚县| 苍梧县| 米林县| 阿克陶县| 沐川县| 合山市| 湖州市| 乌什县| 西华县| 敖汉旗| 泽州县| 诸城市| 江源县| 皮山县| 京山县|