Использование Doctrine ORM с пространствами имен - PullRequest
0 голосов
/ 04 октября 2018

Официальное руководство объясняет, как использовать Doctrine ORM с каталогом /src, и оно работает нормально, однако у меня есть проект с такой структурой:

vendor/
src/
 Entities/
  Category.php
public/
 .htaccess
 index.php
bootstrap.php
cli-config.php
composer.json

И я хочу иметь пространство имен App чтобы я мог сделать это из public/index.php:

use App\DB\Entities\Category;

Как мне настроить параметр autoload и bootstrap.php для этого?Файл Composer в настоящее время имеет этот автозагрузчик:

"autoload": {
    "psr-4": "/src/Entities" 
}

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Вам следует обновить раздел автозагрузки в файле composer.json с помощью следующей конфигурации:

"autoload" : {
    "psr-4" : {
        "App\\DB\\Entities\\" : "src/entities/",
    }
}

И ваш класс сущностей должен выглядеть следующим образом:

<?php

namespace App\DB\Entities;

class Category
{
    function __construct(){
    }
    ...
}
0 голосов
/ 04 октября 2018

Хорошо, после того, что документация композитора говорит, что у вас должно быть что-то вроде этого:

"autoload": {
    "psr-4": {
        "App\\": "./src"
    }
}

и Category.php должны быть созданы так:

<?php

namespace App\Entities;

class Category
{

}

Пример структуры папки

...