1
我无法让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致命错误:班 '的Drupal \ sign_up \表格\ CLESignUpForm' 不/path/to/drupal/modules/sign_up/src/Form/StandardForm.php找到第21行
如果我添加一行:
include 'CLESignupForm.php';
它工作得很好。但是这打破了自动加载类的目的,不是吗? get_declared_classes()不显示我的基类......或者甚至当前加载的类。
关于如何使这个特定的环境符合任何想法?我已经加载了数据库和配置直接从我的本地设置它的工作。不知何故,它可能是一个PHP/Apache的设置?
为什么不添加'use Drupal \ sign_up \ Form \ CLESignUpForm;'? –
其实我认为这是不必要的,如果他们共享命名空间?那肯定是一个设置的地方? –
如果没有你的帮助,PHP没有办法了解你的'CLESignupForm'类。所以你必须使用'include'语句直接使用'use'语句(首选)来依赖Drupal的[自动加载](https://www.drupal.org/node/2156625)功能。 –