Если вы пишите свою библиотеку на php и используете composer, вы можете организовать автозагрузку своих файлов при помощи загрузчика composer-а. Это удобно, если вы хотите инклудить файлы как сторонних так и своих библиотек.
Автозагрузчик composer можно настроить на работу стандарта как psr-0, так и более продвинутого psr-4. Остановимся на последнем (советую почитать статью Битва стандартов: PSR-0 против PSR-4). И так, если вы уже использовали composer, у вас должен быть, помимо других файлов и папок, файлы composer.json, vendor/autoload.php и ваш каталог, скажем, mylib/mypacket. Добавляем в файл composer.json несколько строк:
... "autoload": { "psr-4": { "mylib\\mypackage\\" : "mylib/mypackage" } } ...
проинсталим composer:
composer install
и подключаем автозагрузчик composer-а в ваш файл, куда вы хотите загрузить ваши файлы:
require_once "vendor/autoload.php";
// Пример вызова класса из вашей библиотеки use mylib\mypackage\MyTestClass; $myTestClass1 = new MyTestClass();
пример класса:
// my-lib/my-package/MyTestClass.php namespace mylib\mypackage;
class MyTestClass { // Some code }
Готово. Если возникли вопросы, пишите в комментариях.
Комментарии
Не работает, пишет "Fatal error: Uncaught Error: Class 'mylib\my\MyTestClass' not found in D:\downloads\openserver\OSPanel\domains\test.txt\index.php:15 Stack trace: #0 {main} thrown in D:\downloads\openserver\OSPanel\domains\test.txt\index.php on line 15"
Ответить