原创 YII框架分析筆記7:掛件widget

widget好處是方面重用和靈活移動。CWidget是所有的widge父類,同時它又是是CBaseController的子類,CWidget提供了類似CController中的一些方法,但render()方法渲染的時候不帶layout,而

原创 YII框架分析筆記12:主題管理

YII主題的控制由CThemeManager和CTheme管理,CThemeManager在應用初始化時作爲核心組件註冊,主題默認路徑是app/themes/。 主題配置 由於主題組件在應用初始化時註冊,其配置以及很方面,比如在app/

原创 YII框架分析筆記10:日誌

yii框架中日誌組件記錄的等級5類,在CLogger已通過常量定義: const LEVEL_TRACE='trace'; const LEVEL_

原创 設計模式php實例:單例模式

單個類例模式要求一隻能實例化一次,並且實例化的過程由該類自身執行。 在一些情況下系統只需要一個全局的對象,以協調整個系統的行爲。在具體的php應用中單例模式可以封裝應用的配置,數據庫連接等其他資源的加載,以達到節省空間資源的效果。另外在

原创 zendFramework分析2:引導程序

zendFramework引導過程通過Application組件完成,由於是對老版本的兼容擴展,其實現起來感覺沒有yii那樣優雅,它把類庫當做資源,而原來那些類庫又沒有統一的接口,因此又需要新寫資源類來間接配置和獲取相應的資源。 Zen

原创 設計模式php實例:原型模式

原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。它允許一個對象再創建另外一個可定製的對象,根本無需知道任何如何創建的細節,其工作原理是通過將一個原型對象傳給那個要發動創建的對象,這個要發動創建的對象通過請求原型對象拷貝它們自

原创 設計模式原則詳解

這篇文章,不需要你一次就看懂,如果你真的能一次都看懂,我想設計模式對於你來說 已經沒什麼難度了..因爲設計模式就是要體現這些原則的,你可以把設計原則看做是一門語言,設計模式是由這些語言編碼的程序..你既然已經明白,精通了語 言,剩下的編碼

原创 YII框架分析筆記13:單元測試

先佔個地方,以後補上。

原创 設計模式php實例:裝飾者模式

擴展一個類一般可以使用繼承或者組合的形式。使用繼承的方式擴展時,隨着基類子類的增多,以及子類的子類出現,繼而出現了代碼的無限制膨脹,增加了系統的複雜性。而使用裝飾者模式既繼承又引用,能動態擴展類的一些功能,減少了繼承數量。 裝飾紙UML

原创 設計模式php實例:觀察者模式

當一個對象狀態發生改變後,會影響到其他幾個對象的改變,這時候可以用觀察者模式。像wordpress這樣的應用程序中,它容外部開發組開發插件,比如用戶授權的博客統計插件、積分插件,這時候可以應用觀察者模式,先註冊這些插件,當用戶發佈一篇博文

原创 設計模式php實例:工廠模式

在大的應用中如果每需要得到一個對象都要自己去new,程序的業務邏輯就很混亂,統一由工廠創建,便於管理和擴展。工廠模式主要針對的多態,如果該類可能有很多派生,使用工廠模式比較方便。工廠模式一般可以分爲三類:簡單工廠模式、工廠方法模式和抽象工

原创 zendFramework分析3:控制器與視圖

一個自動渲染帶佈局的hello word爲例。 在配置文件中設置佈局文件的存放路徑resources.layout.layoutPath = APP

原创 YII框架分析筆記9:url路由

以創建url路由爲例,從CWebApplication執行請求過程說起,如果在配置中設置了catchAllRequest,所有請求將會定位到配置中的

原创 設計模式php實例:迭代器模式

迭代器模式提供一種訪問一個容器對象中的各個元素,而又不暴露其內部細節的方法。在應用中,我們時常會遇到各種變量代碼,foreach在很多代碼處都可以見到,使用迭代器可以對不同數據結構的集合封裝,外部只需調用迭代器提供的接口即可,提高了應用的

原创 YII框架分析筆記11:模塊module

module是對相同業務邏輯的app中的內容模塊化,比如博客前臺系統可以模塊化成blog,博客後臺系統可以模塊化成admin,模塊化便於對應用的管理擴展。 加載module的配置 //加載框架中自帶gii模塊和一個自定義admin模塊 '