日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

大话php设计模式视频,大话PHP设计模式

發布時間:2025/3/11 php 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大话php设计模式视频,大话PHP设计模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工廠模式

用工廠方法或者類來實例化對象,而不是直接new。

首先我們需要創建一個工廠類,比如Factory.php。如果不使用工廠模式的,我們需要一個對象的時候通常需要

new Inexistence\girlfriend();

然而我們一般不只在一個地方需要這個對象,這個時候一旦對象發生變更,或者對象的某些屬性發生變化,我們就需要一個一個的來改,非常麻煩。這個時候我們引入工廠類,在Factory.php中

然后每次調用時$GF1 = Imagination\Factory::getGirlfriend()就可以避免四處修改的問題。

在Laravel中這樣的設計模式很常見。

單例模式

即確保某個類的對象僅被創建一次。比如我們在database里面存了很多女生的聯系方式,如果我們用pdo的話每次查找都會new一個對象,勢必會造成資源的浪費。所以我們就在connect之前做個判斷。

這里面比較關鍵的地方在于聲明了一個私有變量和私有的構造方法,然后再在這個類里面new自己,就避免了在其他地方重復實例化的問題。這個時候我們已經沒法直接new Database了,我們只能通過調用get Instance方法來建立連接。這里順帶講一下PHP的鏈式操作的實現。在很多框架比如用完26個字母就不知道怎么辦的thinkPHP和Laravel中對數據庫的操作可以使用鏈式操作,這樣可以使代碼更為優雅。具體實現就是使用return this;,這樣就可以用where($where)->order($order)->limit(1);來代替多行語句。

Laravel使用了三目運算符來代替if,顯得更為優雅。

注冊模式

解決全局共享和交換對象的問題。實際上就是把實例好的對象放進一個數組,在任何地方要用的時候就去出來。就好比有一課樹,我們把new好的$GF1,$GF2。。。一個一個掛上去,要用的時候再取出來。

unset在PHP中是關鍵字,所以用_unset代替。這樣的話我們就要在工廠類中用一下Register::set()方法,把new好的對象掛樹上。為了調用方便,Register中還需要一個get()方法來取對象。

這樣我們也就不用再去使用單例模式了,直接從注冊器中取Register::get()。

Laravel中用了更優雅的方式。

總結

以上是生活随笔為你收集整理的大话php设计模式视频,大话PHP设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。