我无法让Drupal 8从同一名称空间加载自定义模块的类。这就是我所拥有的:
<?php
namespace Drupal\sign_up\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
// ... snip ...
class StandardForm extends CLESignUpForm
{
这一切在我的本地环境中运作得非常好。部署时,服务器说:PHP致命错误:第21行的/path/to/drupal/modules/sign_up/src/Form/StandardForm.php中找不到类'Drupal \ sign_up \ Form \ CLESignUpForm'
如果我添加以下行:
include 'CLESignupForm.php';
它运作得很好。但是这会破坏自动加载类的目的,不是吗? get_declared_classes()不显示我的基类..甚至不显示当前加载的类。
关于如何使这个特定环境符合规定的任何想法?我已经从我的本地设置中直接加载了db和config,它正在工作。它可能是一个php / apache设置吗?
答案 0 :(得分:0)
原来我是个傻瓜。 CLESignUpForm是该类型的不正确大小写。正确的大小写是CLESignupForm。仍然不清楚为什么它在其他所有环境中都有效,而不是这个环境,但它让我觉得至少有一点理智。