㈠ php多端登錄用什麼設計模式
觀察者設計模式。
用戶登錄,需要寫日誌,送積分,參與活動等使用消息隊列,把用戶和日誌,積分,活動之間解耦合。
觀察者模式是挺常見的一種設計模式,使用得當會給程序帶來非常大的便利,使用得不當,會給後來人一種難以維護的想法。
㈡ php設計模式之單例、多例設計模式的應用分析
本篇文章是對php設計模式中的單例與多例設計模式的應用進行了詳細的分析介紹 需要的朋友參考下單例(Singleton)模式和不常銷灶見的多例(Multiton)模式控制著應用程序中類的數量 如模式名稱 單例只能實例化一次 只有一個對象 多例模式可以多次實例化 基於Singleton的特性 我們經常用Singleton配置應用程序並定義應用程序中可能隨時訪問的變數 但有時並不推薦使用Singleton 因為它生成了一個全局狀態且 該單一根對象沒有封裝任何系統功能 多數情況下 會使單元明斗歲測試和調試變得困難 讀者根據情況自行決定 代碼示例
復制代碼 代碼如下: <?php class SingletonExample{ private function __construct(){}//防止直接實例化 public static function getInstance(){ //不與任何對象有關聯 static $instance=null; //調用此函數的所有代碼共享該變數 不必要讓其是類的靜態變數 if($instance==null){ $instance=new SingletonExample(); } return $instance; } } $obj =SingletonExample::getInstance(); $obj =SingletonExample::getInstance(); var_mp($obj ===$obj );// true 是同一個實例 ?>Multiton與singleton相似 不同的是後者需要getInstance()函數傳遞關鍵值 對於給定的關鍵值只會存在唯一的對象實例激睜 如果有多個節點 每個節點擁有唯一的表識符 且各個節點在某單次執行(如cms里的節點)可能出現多次 那麼就可以用Multiton模式實現這些節點啊 Multiton節省內存 並確保同一個對象的多個實例不發生沖突 示例
復制代碼 代碼如下: lishixin/Article/program/PHP/201311/21166
㈢ GitHub 上有哪些比較有趣的 PHP 項目
Hprose for php 的加速擴展。其中所包含的 hprose 序列化和反序列化速度秒殺 php 內一切其它序列化擴展的速度,比如 php 序列化,json,msgpack,igbinary等。
㈣ PHP設計模式的內容簡介
PHP通常被視為構建靈活和功能豐富的Web應用程序的基石。由於學習相對簡單,因此初級編程人員能夠方便地採用PHP從頭開始創建應用程序。然而,考慮到這些應用程序的規模,其維護工作令人畏懼。幸運的是,成熟的編程社區已經提供了包括設計模式在內的一些解決方案。這些針對相同問題的可重復解決方案已在其他編程語言中應用了多年。《PHP設計模式》的目標是:通過將經過實踐檢驗的設計模式應用於PHP應用程序,將PHP與早期的編程語言聯系在一起。
主要內容
◆設計模式的含義及其在PHP中的重要性
◆建立設計模式的PHP庫的常規用法
◆使用設計模式(如建造者、外觀、原型和模板模式)更快速、更有效地創建對象
◆使用數據訪問對象和代理設計模式分離體系結構
◆使用委託、工廠和單元素設計模式改善代碼流和控制
◆在不修改對象核心的情況下實現訪問者和裝飾器設計模式以增強對象
◆全面的、使用觀察者設計模式的插入式創建技術
◆使用設計模式計劃應用程序體系結構
◆使用基於設計模式的編碼方式從頭至尾地完成一個Web站點編程的案例分析
◆在已有應用程序中發現設計模式的體系結構優勢
◆通過案例分析介紹進一步增強代碼的方法
㈤ php除了mvc還有什麼架構
1.Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
2.CodeIgniter
3.CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設槐世計模式如ActiveRecord,AssociationDataMapping,FrontController以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。
4.PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5.Akelos
AkelosPHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,AkelosPHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標准PHP配置便能運行。
6.Symfony
Symfony是一個用於開發PHP5項目的web應用框架。
這個框架的目的在於加速web應用的開發以及維護,減少重復的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
7.Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架數帆以及相關項目的進行。
PRADO的靈感起源於ApacheTapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8.Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9.ZooP
ZoopPHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被鉛畢肢使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototypeAJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多formwidgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。
10.QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:
◆整合了Java和C