TYPO3 10.4 Symfony 表达式语言 - class 未找到
TYPO3 10.4 Symfony Expression Language - class not found
我正在尝试使用 Symfony 表达式语言自定义我的 TypoScript 条件。
我已按照 example of typo3.
的说明进行操作
所以我使用示例挂钩创建了一个新文件 Example_Ext/Configuration/ExpressionLanguage.php
,并且还在 Example_Ext/Classes/ExpressionLanguage
中创建了两个文件 CustomTypoScriptConditionProvider.php
和 CustomConditionFunctionsProvider.php
但是,一旦我加载我的扩展程序,我就会收到错误 Class \Vendor\Example_Ext\ExpressionLanguage\CustomTypoScriptConditionProvider not found
,我不知道为什么。
我还清除了所有缓存,un-/loaded 扩展几次,并清除了另一个线程中提到的自动加载器。但它仍然行不通。我知道这个错误发生在第一个钩子 ExpressionLanguage.php
中,因为如果我更改文件的路径,错误也会更改为新路径。
有什么解决这个问题的建议吗?
亲切的问候。
调试了很久才发现错误。
显然,这个例子很容易被误解
Additional functions can be provided through another class, which has to be returned by CustomTypoScriptConditionProvider PHP class:
<?php
namespace Vendor\ExtensionName\TypoScript;
如上所述,我在 Example_Ext/Classes/ExpressionLanguage
中添加了一个新文件,但根据此代码片段,即命名空间,此 class 必须位于 Example_Ext/Classes/TypoScript
.
其次,我的 composer.json 文件有问题。
似乎有些错误阻止了自动加载器加载 Example_Ext
扩展。因此,根据命名空间,除了不存在的 class 之外,无法找到 class。
因此在将命名空间固定为 Example_Ext/Classes/ExpressionLanguage
之后一切正常。
请注意:
前缀为 user
或 user_
的自定义函数不可调用。
我正在尝试使用 Symfony 表达式语言自定义我的 TypoScript 条件。 我已按照 example of typo3.
的说明进行操作所以我使用示例挂钩创建了一个新文件 Example_Ext/Configuration/ExpressionLanguage.php
,并且还在 Example_Ext/Classes/ExpressionLanguage
CustomTypoScriptConditionProvider.php
和 CustomConditionFunctionsProvider.php
但是,一旦我加载我的扩展程序,我就会收到错误 Class \Vendor\Example_Ext\ExpressionLanguage\CustomTypoScriptConditionProvider not found
,我不知道为什么。
我还清除了所有缓存,un-/loaded 扩展几次,并清除了另一个线程中提到的自动加载器。但它仍然行不通。我知道这个错误发生在第一个钩子 ExpressionLanguage.php
中,因为如果我更改文件的路径,错误也会更改为新路径。
有什么解决这个问题的建议吗?
亲切的问候。
调试了很久才发现错误。 显然,这个例子很容易被误解
Additional functions can be provided through another class, which has to be returned by CustomTypoScriptConditionProvider PHP class:
<?php
namespace Vendor\ExtensionName\TypoScript;
如上所述,我在 Example_Ext/Classes/ExpressionLanguage
中添加了一个新文件,但根据此代码片段,即命名空间,此 class 必须位于 Example_Ext/Classes/TypoScript
.
其次,我的 composer.json 文件有问题。
似乎有些错误阻止了自动加载器加载 Example_Ext
扩展。因此,根据命名空间,除了不存在的 class 之外,无法找到 class。
因此在将命名空间固定为 Example_Ext/Classes/ExpressionLanguage
之后一切正常。
请注意:
前缀为 user
或 user_
的自定义函数不可调用。