Почему то выдает ошибку, что класс не найден, однако он подключен: Fatal error: Uncaught Error: Class 'Base\App\Icons' not found in E:\Server\OpenServer\domains\***\system\core\User\UserInfo.php:40 Stack trace: #0 E:\Server\OpenServer\domains\***\pages\profile\profile.php(42): Base\User\Info::Confidentialitylevel(0) #1 {main} thrown in E:\Server\OpenServer\domains\****\system\core\User\UserInfo.php on line 40 Icons.php PHP: namespace Base\App; use Base\Interfaces\IconsInterface; class Icons extends \Core implements IconsInterface { public static function getIcon ($icon, $color='', $tooltip='', $size='2px') { if( !empty($color) ) $color='color="'.$color.'"'; if( !empty($tooltip) ) $tooltip='data-toggle="tooltip" data-placement="top" title="" data-original-title='.$tooltip.''; return '<i class="material-icons"><font '.$color.' size="'.$size.'" '.$tooltip.'>'.$icon.'</font>'; } } UserInfo.php PHP: namespace Base\User; use Base\App\Icons; use Base\Auth\CAuth; use Base\db\SQL_Request; use Base\Interfaces\UserInfo; class Info extends \Core implements UserInfo { public static function Confidentialitylevel($type) { if( self::CheckUser() ) { if( $type == 0 ) { if( self::SocialAll('account') == 0 ) return Icons::getIcon('beenhere', 'gray', 'Не идентифицирован'); if( self::SocialAll('account') == 1 ) return Icons::getIcon('beenhere', 'orange', 'Частично идентифицирован'); if( self::SocialAll('account') == 2 ) return Icons::getIcon('beenhere', 'green', 'Идентифицирован'); } elseif( $type == 1 ) { if( self::SocialAll('account') == 0 ) return 'анонимный'; if( self::SocialAll('account') == 1 ) return 'формальный'; if( self::SocialAll('account') == 2 ) return 'персональный'; } } } } --- Добавлено --- Класс подключен путем Autoload --- Добавлено --- Если надо, вот Autoload: PHP: public static $NAMESPACESMAP = [ Auth\Login::class => 'Authorization\Login', Auth\Register::class => 'Authorization\Register', Auth\CAuth::class => 'Authorization\CheckLogin', Auth\Forgot::class => 'Authorization\Forgot', Auth\CActivation::class => 'Authorization\Activation', App\Checker::class => 'Application\Checker', App\ErrorThrow::class => 'Application\ErrorThrow', App\OGenerator::class => 'Application\OGenerator', App\SuccessMsg::class => 'Application\SuccessMsg', App\Icons::class => 'App\Icons', App\HeaderLocation::class => 'Application\HeaderLocation', \db\MySQL::class => 'db/MySQL', db\SQL_Placeholders::class => 'db\Sql_Placeholders', db\SQL_Request::class => 'db\Request', User\Info::class => 'User\UserInfo', Money\MoneyInfo::class => 'Money\MoneyInfo', Interfaces\UserInfo::class => 'Interfaces\UserInfoInterface', Interfaces\IconsInterface::class => 'Interface\IconsInterface', Interfaces\MoneyInfoInterface::class => 'Interface\MoneyInfoInterface', ]; public static function setPatchMap( string $NAME, string $PATCH ) { self::$NAMESPACESMAP[$NAME] = $PATCH; } public static function autoload( $CLASS ) { // if(1) { // echo "{$CLASS}<br>" . PHP_EOL; // } if ( isset ( self::$NAMESPACESMAP[$CLASS] ) ) $CLASS = self::$NAMESPACESMAP[$CLASS]; include dirname ( __FILE__ ) . DIRECTORY_SEPARATOR . strtr ( $CLASS, '\\', DIRECTORY_SEPARATOR ) . '.php'; } namespace { spl_autoload_register ( [ \Base\Base::class, 'autoload' ] ); }
Зачем ты подключаешь через autoload это используй пакет camposer. Также код ты зачем усложнил, использовал метод для autoload. Упрости, используй composer.
Потому что мне удобней использовать autoload без composer, возможно потому что я не умею пользоваться (только подключать и все), но все же, удобней Autoload. Я нашел ошибку и она была примитивной, я просто неправильно написал директорию.