namespaces - TYPO3:在具有供应商命名空间的扩展中编写一个 ViewHelper

标签 namespaces typo3 fluid typo3-6.1.x

我在供应商命名空间中创建了一个带有插件的扩展。到目前为止一切正常。所有的类都以命名空间声明 namespace \VENDOR\ExtensionName\... 开头并且typo3 自动加载它们就好了。

但是,当我添加 ViewHelper 时,问题就开始了。我把这个放在 \VENDOR\ExtensionName\ViewHelpers命名空间。我在 Fluid 模板中添加了命名空间,如下所示:{namespace ns=VENDOR\ExtensionName\ViewHelpers} .当我在模板中使用 <ns:myViewHelper /> 调用它时,我只是收到“糟糕...”错误消息:

Could not analyse class:VENDOR\ExtensionName\ViewHelpers\MyViewHelperViewHelper maybe not loaded or no autoloader?

当我将 ViewHelper 放入 \TYPO3\... 时,也会发生同样的情况。命名空间。

如何在具有供应商命名空间的扩展中正确实现 ViewHelper?

最佳答案

命名空间声明不能有前导反斜杠。

取而代之的是 \Vendor\ExtensionName\ViewHelpers;它必须是 Vendor\ExtensionName\ViewHelpers;
http://www.php.net/manual/en/language.namespaces.nested.php

关于namespaces - TYPO3:在具有供应商命名空间的扩展中编写一个 ViewHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22729440/

相关文章:

xml - javax.xml.bind.UnmarshalException

c++ - STL算法函数名解析

html - 使用 Bootstrap 3 为不同屏幕尺寸设计网站样式

css - 如何创建可以流畅调整大小的 CSS 绘图?

C# 冲突时设置默认命名空间

r - 如何在 R 包中正确使用其他包中的函数

typo3 - 已删除记录的 Extbase 属性映射

caching - TYPO3:将插件从USER更改为USER_INT类型

php - 在 PHP 中仅获取一次 MySql-Query 列作为标题(即使有多个结果)

php - 如何将公共(public)资源包含到 typo3 extbase 扩展中