Drupal 8没有将我的模块类添加到注册表/自动加载

时间:2016-07-29 20:31:16

标签: php drupal drupal-8

我无法让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设置吗?

1 个答案:

答案 0 :(得分:0)

原来我是个傻瓜。 CLESignUpForm是该类型的不正确大小写。正确的大小写是CLESignupForm。仍然不清楚为什么它在其他所有环境中都有效,而不是这个环境,但它让我觉得至少有一点理智。