Для решения этой проблемы вы должны использовать автозагрузку и композитор.
Композитор:
Установить композитор, если у вас нет https://getcomposer.org/
Создать composer.json
Создать внутри папки модуля файл с именем composer.json и вставить следующий код
{
"autoload": {
"psr-4": {
"Carbo\\": "classes/"
}
}
}
в данном случае карб - это мое пространство имен, а classes - папка, в которой я буду создавать свои классы.
Использование терминала
, открытие терминала и переход кпапку вашего модуля и запустите эту команду:
php composer.phar dump-autoload -a
Это создаст папку поставщика с внутренней папкой composer и файлом autoload.php.
в autoload_psr4.php внутри папки composer
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Carbo\\' => array($baseDir . '/classes'),
);
Как использовать в приложении
Создайте свой класс в: classes / Helper / Display.php
<?php
namespace Carbo\Helper;
class Display
{
public static function hello($string){
return $string;
}
}
- namespace:Carbo
- Папка: Helper
- Имя класса: Показать
откройте ваш основной файл и включите autoload.phpперед объявлением класса
require_once __DIR__.'/vendor/autoload.php';
теперь вы можете включить ваши классы
use Carbo\Helper\Display; // Namespace - folder - class name
и, наконец, использовать его
Display::hello("Hello there")
Подробнее об этом вы можете узнатьучебник: https://thewebtier.com/php/psr4-autoloading-php-files-using-composer/
Надеюсь, вам будет полезно