PHP設計模式學習筆記一 關於PHP類的自動載入

2021-09-11 21:12:35 字數 1084 閱讀 9539

當工程級別的**需要引入很多外部檔案時,會導致在類檔案的頭部書寫很多類似下面的**:

require_once

__dir__.'/'.$class.'.php';

複製**

這種情況下我們可以使用__autoload()函式來實現類的自動載入,但是由於函式重名的問題,php 官方目前推薦使用spl_autoload_register()函式來替代__autoload()函式,因為我們可以自己定義自動載入類的函式的名稱,然後在spl_autoload_register()函式中實現這些類的呼叫。

定義兩個測試類test1.phptest2.php以及乙個測試入口類test.php

test1.php

<?php

class

test1

}複製**

test2.php
<?php

class

test2

}複製**

測試入口類
<?php

spl_autoload_register('autoload1');

test1::test();

test2::test();

function

autoload1

($class)

複製**

可以看到我們在入口類中自定義了乙個類的自動載入函式autoload1()然後在spl_autoload_register()函式中去宣告了自動載入函式的呼叫。

/usr/bin/php /users/yang/phpcode/test.php

test1::test

test2::test

process finished with exit code 0

複製**

可以看到不同的類中的方法已經成功呼叫,並且程式沒有報錯。

Ajax學習筆記 (一 關於基礎部分)

我們知道在傳統的 中存在著一些問題 於是為了有效的解決問題就用到了ajax。那麼什麼是ajax了?ajax的一些常用的應用場景 注意 ajax技術需要執行在 環境中才能生效。ajax的實現步驟 1.建立ajax物件 請求方式和位址根據你們情況來選擇.3.傳送請求 xhr.send 4.獲取伺服器端給...

php 設計模式 學習筆記

php 有如下幾種設計模式 初聽到設計模式可能讓你覺得很抽象,其實設計模式就是對常見程式設計問題的靈活解決方案。1 工廠模式 factory 他之所以被成為工廠模式是因為他負責 生產 物件,看看下面的例子 class factoryelse 你如何呼叫呢 factorymql factory fac...

PHP設計模式學習筆記

當多個地方需要例項化乙個類的時候,為了滿足之後可能需要做修改的可能的時候可以使用工廠模式。即在乙個類中的乙個方法例項化 之後需要修改只要修改該函式即可。資料庫鏈結,單例模式,將建構函式宣告為私有 遮蔽在其他地方例項化資料庫連線,宣告乙個方法建立例項 new self 即定義乙個受保護的屬性陣列,當呼...