Как я могу предотвратить ошибку "имя класса или пространство имен, вероятно, имеет опечатку" в Symfony 4? - PullRequest
0 голосов
/ 06 июля 2018

Я получаю следующее сообщение об ошибке ...

Ожидается, что автозагрузчик класса «App \ DataTables \ UsersDataTable» будет определено в файле "/Users/work/project/vendor/composer/../../src/DataTables/UsersDataTable.php". Файл был найден, но класс не был в нем, имя класса или Пространство имен, вероятно, имеет опечатку в /Users/work/project/config/services.yaml (загружается в ресурс «/Users/work/project/config/services.yaml").

Но мой scr / DataTables / UsersDataTable.php имеет правильное пространство имен и класс:

namespace App\DataTables\UsersDataTable;

use DataTables\DataTableHandlerInterface;
use DataTables\DataTableQuery;
use DataTables\DataTableResults;
use Symfony\Bridge\Doctrine\RegistryInterface;

class UsersDataTable implements DataTableHandlerInterface
{....

В config / service.yaml Я называю это так ...

datatable.users:
   class: App\DataTables\UsersDataTable
   tags: [{ name: datatable, id: users }]
   arguments: [ '@doctrine' ]

1 Ответ

0 голосов
/ 06 июля 2018

Ты почти у цели!
Оператор пространства имен указывает, что «я нахожусь в этом каталоге » (ну, пространство имен)
Оператор use указывает: загрузить этот класс (= файл)

namespace App\DataTables;

use DataTables\DataTableHandlerInterface;
// [...]

class UsersDataTable extends DataTableHandlerInterface
{
...