Vatrush
@Vatrush

Почему PHP не может найти класс?

Есть структура проекта :
index.php
composer.json
app/models/Database.php
app/controllers/ ничего пока что нет.
vendor/ - тут у меня лежит орм и файлы композера и тд.

Database.php имеет следующее содержимое:
namespace App\Models;

use Illuminate\Database\Capsule\Manager as Capsule;

class Database
{
        function __construct()
        {
           Тут мой код
        }
}

index.php:
require 'config.php';
require 'vendor/autoload.php';

use App\Models\Database;

$db = new Database();

В нем я подключаю свой файл конфига и автозагрузку классов.
вот мой composer.json:
{
  "name":"data/base",
  "description":"---",
  "type":"project",
  "require": {
    "illuminate/database":"5.8.*"
  },
  "autoload": {
    "psr-4": {
      "Controllers\\":"app/controllers/",
      "Models\\":"app/models/"
    }
  }
}

Вроде бы все как нужно, но почему-то при открытии индексного файла - вылетает ошибка
Fatal error: Uncaught Error: Class 'App\Models\Database' not found
Хотя даже IDE видит классы
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
RedEagle69
@RedEagle69
Html-верстальщик, Front-end разработчик
Уберите «App\» из пути. Должно получиться вот так:
use Models\Database;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mosesfender
@mosesfender
Меланхолик, параноик, падал с коек
Рекомендую сразу обратить внимание на прописные/строчные буквы в именах и namespace. Для win это не критично, а на *NIX просто не будет работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы