程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> YII千萬級PV架構經驗分享--俯瞰篇--YII擴展演變

YII千萬級PV架構經驗分享--俯瞰篇--YII擴展演變

編輯:關於PHP編程

   hello,大家好,我是方少,看見有人想讓我公開PPT,呃,我這就是從PPT上上傳上去的,麻煩死人,還有PPT可以公開,想法可以交流,可是具體代碼,結構,是不可能公開的,我不想被告,請大家見諒。好了,前面都是主要講YII框架擴展憲法雲裡霧裡的標准,今天開始上干貸了。先還是上傳張美女吧,大半夜的提提神。

 網上盜了份yii整體執行流程圖,嘿,太復雜了,看了就頭疼,掃一眼就好了,畢竟網上挺火了,越復雜,越牛逼嘛。不過還是建議看下,萬一有用呢?

 我就不看了,來張簡單的,Yii 應用的靜態結構

不要跟我說這個圖看不懂,最簡單的只有,index.php然後到controller而已,多輸出幾個hello word,就會了。不行看YII管方文檔,那上面說的還比較詳細。來看下本少畫了半個小時的圖吧,不懂的可以問噢,我詳細的介紹一下。

Yii 預留擴展:

舉幾個例子來說明下為什麼要這麼浪費精力做這些事吧。建一個目錄也是很麻煩死人的。

1.如果你是小型網站,後台系統,當我沒說,你可以pass不看了。如果是高性能卻數據量少,可以自己建個MVC。如果沒有時間開發,直接用YAF,CI就好了。

2. 你繼承的是CActivereCord,沒有繼承自己定義的 JActivereCord,或者其它。以後分庫分表這些業務到時候你往哪裡面實現?改掉項止所有繼承關系,一下正則,然後重新測試,辦法也不錯。可是挺二的。

3.常用擴展封裝,走配置的噢,所有組件全部是YII::app()->xxx .多例模式,也可以看作單例吧,這樣的好處,組合模式,開始時,配置cache緩存用的是redis,最後覺得不爽,直接在配置裡面把cache組件改成更高性能的apc,就OK了。不用動業務代碼。當然,如果你非說,我的配置文件都是一鍵生成的文件緩存的,不走這個,我也沒辦法,業務無變,則不用解藕的。

4 安全是封裝類是繼承Ccontroller,反正多的是攻擊,如果網站值錢了,不攻擊你攻擊誰?你到時侯也可以像CActivereCord一樣,正則手法。呵

 

Yii 預留擴展要求:

1 擴展業務竟最大可能,不影響具體業務。具個例子,比如配置參數UserType,開始用UserType::model()->findAll(),UserType::model()->findByPk(id), 那麼,用緩存apc也一樣的。生成配置文件緩存,也不要影響具體調用方法。相同方法。

2 組件全部通過配置文件調用,這個自己把握吧。呵,不變的是不需要的,那也不是組件了,相當於一個函數而已,組件是可配置的N種可能。

3 在紙上畫畫和寫代碼哪個快?那個舒服,節省時間?肯定是紙上畫畫了,所以過渡設計是應該的。也不需要多少時間。畫著畫著,速度也就越來越快了。

 

搞定,明天繼續發美女,累屁了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved