问题描述:
类
我是新现在,我使用的是8.2.6版本。我正在关注link的教程。Drupal的8 - 致命错误:无法在Drupal 8</p> <p>重新声明
我完全一样。
但标签菜单没有出现,我如何访问该模块? 当我清除了所有的缓存,我得到这个错误:
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
谁知道为什么我有这个错误?
答
PHP错误无法重新声明类是在您尝试创建已创建的类时导致的。
例如:
//create one time
class AdminController {}
//and recreated the class with the same name
class AdminController {}
您需要验证AdminController.php
文件,如果它有两个班,同一个名字,然后用这个教程对你的GitHub项目link项目的源代码进行比较。
答
也许控制器的名称选择不当,因为在Drupal内核中已经有一个像这样命名的控制器。 https://api.drupal.org/api/drupal/core!modules!system!src!Controller!AdminController.php/class/AdminController/8.2.x
使用命名空间,它不应该引起问题,而是尝试在类文件和路由文件中重命名您的控制器。
感谢您将我重定向到GitHub项目! – Akki
@Akki,我不知道你是在感谢还是在抱怨,但是OP是按照我在答案中提到的GitHub项目中提供的例子。他说他以同样的方式效仿这个例子,所以我只是跟他说过验证源代码。 – coderade
如果您仔细阅读问题,问题提问者提到了链接,那不是GitHub。链接和Github的代码实际上是有区别的。 Github代码工作正常。你误会了。 – Akki