с использованием SplClassLoader. Я продолжаю получать ошибку class not found
. Я пробовал различные sources, скопировал их точную структуру папок и назвал но еще not found
.PHP Класс SplClassLoader не найден
Моя структура
application
- Router
- Exceptions
- HttpException.php
- Klein.php
index.php
SplClassLoader.php
index.php
$loader = new SplClassLoader('application', 'application');
$loader->register();
$klein = new \router\Klein();
Klein.php
namespace application\router;
class Klein{
__construct()
HttpException.php
namespace Klein\Exceptions;
use RuntimeException;
class HttpException extends RuntimeException implements HttpExceptionInterface
{
Как включить оба эти параметра в классLoader?
Точная ошибка: Fatal error: Class 'router\Klein' not found in /home/i366963/domains/[domain]/private_html/public/index.php on line 44
линия 44 является $klein = new \router\Klein();
Предложение:
$loader = new SplClassLoader('application', 'application');
$loader->register();
$klein = new application\Router\Klein();
ошибка дает:
Warning: require(application/application/Router/Klein.php): failed to open stream: No such file or directory in /home/i366963/domains/[domain]/private_html/SplClassLoader.php on line 140
Fatal error: require(): Failed opening required 'application/application/Router/Klein.php' (include_path='.:/usr/local/lib/php') in /home/i366963/domains/[domain]/private_html/SplClassLoader.php on line 140
Опубликовать точное сообщение об ошибке целиком. – Augwa
@Augwa добавил ошибку внизу. –
ваше пространство имен \ application \ router, а не \ router. измените на new \ application \ router \. Кроме того, если вы используете это в Unix, ваше имя каталога зависит от регистра, что означает, что вам нужно либо изменить имя каталога на «маршрутизатор», либо обновить пространство имен, чтобы оно было «application \ Router» – Augwa