Автозагрузка своих классов в 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) { }