<?php spl_autoload_register(function ($className) { $className = ltrim($className, '\'); $fileName = ''; if ($lastNsPos = strripos($className, '\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName = __DIR__ . DIRECTORY_SEPARATOR . $fileName . $className . '.php'; if (file_exists($fileName)) { require $fileName; return true; } return false; });
例如call_user_func()函數就可接收使用者自訂的函數作為一個參數,他是php的內建函數。 callback函數不但可以是一個函數,也可以是一個物件的方法,靜態類別的方法也可以。一個php函數用函數名稱字串來傳遞,可以傳遞任何內建的或使用者自訂的函數,除了語言結構例如array(),echo(),empty(),eval(),exit(),isset() ,list(),print(),unset()等。
如果要傳入一個物件的方法,需要以陣列的形式傳遞,陣列下標0是物件名,下標1是方法名。要是沒有實例化為物件的靜態類,要傳遞其方法,要將數組0下標指明的物件名稱換成該類別的名稱。
本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn
相關文章

25 Feb 2025
核心要點 Liquibase 是一款開源工具,用於管理和版本控制數據庫模式變更,允許將增量數據庫變更組織到不同的變更集中,並應用於數據庫。在大型團隊中,手動共享變更很困難,Liquibase 特別有用。 Liquibase 與其他數據庫版本控制/遷移工具的不同之處在於,它能夠感知變更,這意味著它關注的是所做的變更,而不是比較數據庫模式的兩個快照來生成遷移腳本。這可以防止在重命名列時因 drop add 操作導致數據丟失等問題。 Liquibase 將數據庫變更存儲在 XML 文件中,稱為變更日

26 Feb 2025
許多網站和應用程序的開發都需要各種類型的數據來模擬現實生活中的工作方式。在項目的測試和開發階段,我們經常使用虛假數據來填充數據庫、填充UI元素等等。 自己編寫代碼為項目生成虛假數據可能會非常繁瑣。在本教程中,您將學習如何使用PHP中久經考驗的Faker庫來生成虛假數據。 入門 在繼續之前,我想澄清幾點。 最初的虛假庫是fzaninotto/Faker。但是,它在2020年12月11日被所有者存檔。現在,名為FakerPHP/Faker的庫分支正在繼續開發工作。如果您正在嘗試決定應該在項目中使用哪

24 Dec 2024
了解 Python 類別繼承在 Python 中,類別可以從其他類別繼承,這使它們能夠存取父類別的屬性並...

03 Jan 2025
了解欄位初始化問題在您的程式碼中,您有一個儲存庫類別 (DinnerRepository) 和一個服務類別 (Service),它使用...


Hot Tools
