[英]What to do after setting include path in php.ini?
請賜教我這一點。 我嘗試編輯 php.ini 文件,在它說 include_path 的部分:
include_path = ".;C:\php_includes\home_made"
之后我取消注釋,保存並從 wamp 托盤圖標重新啟動所有服務。
我在那個文件夾上有一堆自制的課程。 我想象我可以在我制作的每個 php 文件上做這樣的事情。 我將能夠使用這些類中的函數:
$strings = new strings();
echo $strings->clean('bla$#@D232)*/');
但我錯了,因為它返回了這個錯誤:
Fatal error: Class 'strings' not found in C:\wamp\www\dw_fs\phpinfo.php on line 1
在 php.ini 中包含路徑我實際上得到了什么好處。 我該如何使用它? 請賜教。
它允許您使用 include() 和 require() 包含文件,而無需指定完整路徑。
來自手冊: http://www.php.net/manual/en/ini.core.php#ini.include-path
指定 require()、include()、fopen()、file()、readfile() 和 file_get_contents() 函數查找文件的目錄列表。 格式類似於系統的 PATH 環境變量:在 Unix 中用冒號分隔的目錄列表或在 Windows 中用分號分隔的目錄列表。
PHP 在查找要包含的文件時分別考慮包含路徑中的每個條目。 它將檢查第一個路徑,如果找不到,則檢查下一個路徑,直到找到包含的文件或返回警告或錯誤。 您可以在運行時使用 set_include_path() 修改或設置包含路徑。
您仍然需要包含您的string
class。 僅僅調用它是行不通的——但如果文件在包含路徑中,那么您實際上不需要指定文件的完整路徑。
如果您想讓 PHP 為您自動包含文件,請閱讀Autoloading Classes
include_path 只允許include
沒有完整路徑的文件:
include("strings.php"); // instead of "c:/includes/strings.php"
除了設置include_path
之外,您還想在示例中使用autoloader
:
spl_autoload_extensions('.php');
spl_autoload_register("spl_autoload");
然后,您可以實例化字符串 class 而無需手動包含所需的 class 文件。
你有strings
class 嗎?
字符串 class 是String
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.