我正在尝试遵循许多Hello World示例之一,但遇到了麻烦。我的日志中出现以下PHP错误:
ReflectionException:类 \ Drupal \ hello_world \ Controller \ HelloWorldController在以下位置不存在 ReflectionMethod-> __ construct()(第123行 /var/www/html/drupal/core/lib/Drupal/Core/Entity/EntityResolverManager.php)。
这是我使用的代码:
modules / hello_world / hello_world.info.yml:
name: Hello World
description: Hello World Module
type: module
core: 8.x
package: Custom
modules / hello_world / hello_world.routing.yml:
hello_world.hello:
path: '/hello'
defaults:
_controller: '\Drupal\hello_world\Controller\HelloWorldController::helloWorld'
_title: 'Hello, Worlds!'
requirements:
_permission: 'access content'
最后是modules / hello_world / src / Controller / HelloWorldController.php:
<?php
namespace Drupal\hello_world\Controller;
use Drupal\Core\Controller\ControllerBase;
/**
* Controller for the salutation message.
*/
class HelloWorldController extends ControllerBase {
/**
* Hello World.
*
* @return string
*/
public function helloWorld() {
return [
'#type' => 'markup',
'#markup' => $this->t('Hello, Worlds!'),
]
}
}
我尝试检查yaml文件中的空格是否有问题,因为我看到其他人对此有问题。我还尝试将hello_world文件夹移动到包含名为custom的模块的文件夹中,但无济于事。