[英]How to organize require and require once in PHP for class import
我已經構建了一個PHP視頻上傳庫,旨在用於不同的框架。 ## HERE ## 。
但我想讓它優化像,我想要包括或制作\\
在類中調用require或require_once ,並且我希望配置類可用於我在運行時擁有的所有類...而無需顯式調用或生成一次require。
我怎么能這樣做,大多數PHP項目使用bootstrap類/文件來做到這一點,一些身體請幫助我。
我建議創建一個auto_load.php
文件的方法,這個文件將包含要包含的文件,然后你可以將這個auto_load.php
包含到你的庫的入口點文件/類中以加載所有必需的文件為您的圖書館工作。 這與composer
工作方式和效率是一樣的。
您可以在加載類中查看psr-4
標准。 http://www.php-fig.org/psr/psr-1/
require_once
與require
相同,但PHP會檢查文件是否已被包含,如果是,則不再包括(require),請參閱http://php.net/manual/en/function.require-once。 PHP
您可以創建自動加載功能 。 這樣您只需加載所需的庫。
基本的自動加載功能如下所示:
define('PATH_LIBRARY', '/some/path/lib/');
function myautoload($class_name){
// you can do string manipulation to build the filename, for example
$filename = strtolower($class_name);
$filename = str_replace('_', '/', $filename);
$filename = ucwords($filename);
$filepath = PATH_LIBRARY.$filename.'.php';
if (file_exists($filepath))
{
require_once($path);
return true;
}
}
spl_autoload_register('myautoload');
編輯代碼必須在代碼的開頭添加(通常在index.php
頂部的文件中),所以后面的所有指令都會從中受益。 您可以通過檢查不同的目錄來改進它(例如,如果類名以“controller”或“model”開頭,則將路徑更改為相應的目錄)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.