Автозагрузка своих классов в Bitrix с помощью D7

	use \Bitrix\Main\Loader;
	Loader::registerAutoLoadClasses($module = null, [
  		'Site\\Controller' => '/local/php_interface/lib/Site/Controller.php',
	]);

Этот код нужно поместить соответственно в /local/php_interface/init.php.

	// использование
	use Site\Controller;
	$controller = new Controller();

В файле Controller.php в начале нужно не забыть указать пространство имён:

namespace Site;

https://github.com/sidigi/bitrix-info/wiki/Автозагрузка-классов - взято вот отсюда.

Автозагрузка в соответствии с PSR-12

Если вы работаете в PhpStorm и пользуетесь плагином https://plugins.jetbrains.com/plugin/7622-php-inspections-ea-extended-, то PhpStorm предложит привести данный вариант кода в соответствие с PSR-12. Код будет выглядеть следующим образом:

		declare(strict_types=1);

		use Bitrix\Main\Loader;
		use Bitrix\Main\LoaderException;
		use Site\Controller;

		try {
		    Loader::registerAutoLoadClasses(null, [
		        Controller::class => '/local/php_interface/lib/Site/Controller.php',
		    ]);
		} catch (LoaderException $e) {

		}
	

Тэги:

Тэг в списке: