Как организовать требовать и требовать один раз в PHP для импорта класса

Я построил библиотеку загрузки видео PHP, предназначенную для использования в различных средах.
## ВОТ ##.

Но я хочу сделать его оптимизированным, как, я не хочу включать или сделать \

требовать или требовать вызов в классе, а также я хочу, чтобы класс конфигурации был доступен для всех классов, которые у меня есть во время выполнения … без явного вызова или выполнения требования один раз.

Как я могу это сделать, в большинстве проектов php для этого используется класс / файл начальной загрузки, и некоторые телепрограммы помогают мне.

1

Решение

Я бы предложил сделать способ иметь 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

2

Другие решения

Вы можете создать функция автозагрузки . Таким образом, вы будете загружать только необходимую библиотеку.

Основная функция автозагрузки выглядит следующим образом:

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», измените путь к соответствующему каталогу)

1

По вопросам рекламы [email protected]