Я работал над плагином WordPress, и мне пришлось расширить класс в другом файле, чего я раньше не делал. Так что это заставило меня использовать автозагрузчик. Чтобы дать вам некоторое представление о структуре моей папки.
Каталог моих плагинов
plugins / knp-vendor-portal /
Структура моей папки.
/ knp-classes
/ css
/ js
knp-vendor-portal.php
В моем основном файле плагинаЯ использую следующее, чтобы загрузить свои классы, однако, когда я смотрю в монитор запросов, я получаю массу ошибок. По сообщениям об ошибках, функция include_once пытается загрузить еще сотни классов из всех других плагинов. Так почему же он не загружает классы из моего плагина, только если имя DIR указывает на мой каталог классов?
Вот код, который я использую в своем основном файле плагина.
function knp_load_first(){
//Auto load all the class files
spl_autoload_register('knpv_autoloader');
//Some other code calling some methods
}
add_action('plugins_loaded', 'knp_load_first');
function knpv_autoloader($classname){
include_once plugin_dir_path( __FILE__ ).'knp-classes/'.$classname.'.php';
}