Я построил библиотеку загрузки видео PHP, предназначенную для использования в различных средах.
## ВОТ ##.
Но я хочу сделать его оптимизированным, как, я не хочу включать или сделать \
требовать или требовать вызов в классе, а также я хочу, чтобы класс конфигурации был доступен для всех классов, которые у меня есть во время выполнения … без явного вызова или выполнения требования один раз.
Как я могу это сделать, в большинстве проектов php для этого используется класс / файл начальной загрузки, и некоторые телепрограммы помогают мне.
Я бы предложил сделать способ иметь auto_load.php
файл и этот файл будет содержать файлы, необходимые для включения, а затем вы можете включить этот auto_load.php
в файл / класс точки входа в вашу библиотеку, чтобы загрузить все необходимые файлы для работы вашей библиотеки. Это та же идея, что и как composer
работать и это эффективно.
Вы можете взглянуть на psr-4
стандарты в загрузочных классах.
http://www.php-fig.org/psr/psr-1/
require_once
такой же как require
кроме того, PHP проверит, был ли файл уже включен, и если это так, не включать (требовать) его снова, обратитесь к 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», измените путь к соответствующему каталогу)