當工程級別的**需要引入很多外部檔案時,會導致在類檔案的頭部書寫很多類似下面的**:
這種情況下我們可以使用require_once
__dir__.'/'.$class.'.php';
複製**
__autoload()
函式來實現類的自動載入,但是由於函式重名的問題,php 官方目前推薦使用spl_autoload_register()
函式來替代__autoload()
函式,因為我們可以自己定義自動載入類的函式的名稱,然後在spl_autoload_register()
函式中實現這些類的呼叫。
定義兩個測試類test1.php
和test2.php
以及乙個測試入口類test.php
test1.php
test2.php<?php
class
test1
}複製**
測試入口類<?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 即定義乙個受保護的屬性陣列,當呼...