2017-02-20 34 views
0

Я новичок в Drupal 8.Drupal 8 - Фатальная ошибка: Невозможно переопределить класс

Теперь я использую 8.2.6 версии. Я следую учебнику с link.

Я сделал это точно так же.

Но меню вкладки не появилось, как мне получить доступ к этому модулю? И когда я очистил весь кэш, я получил эту ошибку:

Fatal error: Cannot redeclare class Drupal\bd_contact\AdminController in D:\Dropbox\projects\drupal-8.2.6\modules\custom\bd_contact\src\Controller\AdminController.php on line 7 

Кто-нибудь знает, почему у меня эта ошибка?

ответ

2

Ошибка PHP Невозможно переопределить класс, если вы попытаетесь создать уже созданный класс.

Например:

//create one time 
class AdminController {} 

//and recreated the class with the same name 
class AdminController {} 

Вы должны проверить файл AdminController.php, если у него есть два класса с таким же именем, а затем сравнить с исходным кодом этого руководства на вашем проекте GitHub link проекта.

+0

Спасибо, что перенаправили меня на проект GitHub! – Akki

+0

@Akki, я не знаю, если вы благодарны или жалуетесь, но OP следует примеру, который доступен в проекте GitHub, о котором я упомянул в ответе. И он сказал, что он следует примеру таким же образом, поэтому я просто сказал ему проверить исходный код. – coderade

+0

Если вы внимательно прочитали вопрос, вопросник спросил упомянутую ссылку, а не GitHub. Фактически существует разница между кодом ссылки и Github. Код Github работает нормально. Ты не понял. – Akki

0

Возможно, имя контроллера не выбрано хорошо, потому что в ядре Drupal уже есть контроллер, названный так. https://api.drupal.org/api/drupal/core!modules!system!src!Controller!AdminController.php/class/AdminController/8.2.x

С пространством имён это не должно вызывать проблемы, но попробуйте переименовать ваш контроллер в файле класса и в файле маршрутизации.