PHP學習筆記(4)_PHP教程

來源:互聯網
上載者:User
在PHP中實現一個所謂的MVC架構非常簡單。這裡說一下思路。

一、首先用spl_autoload_register函數實現自己的類型自動載入機制。這樣其他代碼都不需要再考慮如何將類所在的檔案include進來。

二、從url中提取出controller和action的名稱,組織起來用反射執行個體化控制器類,並調用控制器的execute方法。控制器的execute方法同樣也會用反射尋找action方法並調用,將action返回的response對象寫入到輸出資料流中。如果controller或action不存在時則返回404狀態。

三、要實現視圖,首先要定義一個view類,它將另外一個php視圖檔案include到一個方法裡,這樣可以限制被包含檔案中變數的範圍。其次view類會有一個$model屬性,用它來和被包含的php共用資料模型,這樣我們就能輕鬆地在視圖中呈現資料了。當然還可以用ob_start、ob_get_contents、ob_end_clean這幾個函數來“捕獲”視圖呈現的內容。

四、接第二步,如果想呈現一個視圖,那麼就在action中返回一個ViewResponse,想輸出一段json資料,就返回一個JsonResponse,架構提供一個基類ActionResponse,不管它的衍生類別是什麼架構只需要將它產生的內容寫入到輸出中。

實際使用的時候需要注意一下安全和效能的問題。

http://www.bkjia.com/PHPjc/748241.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/748241.htmlTechArticle在PHP中實現一個所謂的MVC架構非常簡單。這裡說一下思路。 一、首先用spl_autoload_register函數實現自己的類型自動載入機制。這樣其他代碼都...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.