我有一个名为Menu
的扩展,它需要文件夹ext/menu/Classes/Helper
中MenuHelper
类的帮助。
如何在我的控制器中使用它?类"MenuHelper"只有在控制器文件夹中才会被访问。
我想在我的控制器中像这样使用它:
public function listAction() {
$menugenerators=new MenuHelper(); # Will return something
$this->view->assign('menugenerators', $menugenerators);
}
如果将一个类放在目录yourExt/Classes/Helper/NestedDirectory/MenuHelper.php
中,那么有两种方法可以在所有其他extbase文件中获取该类。
TYPO3> 6.0的第一种方法:使用命名空间
<?php
namespace YourVendor'YourExtension'Helper'NestedDirectory;
class MenuHelper {
}
?>
现在可以使用
创建该类的实例$menuHelper = 'TYPO3'CMS'Core'Utility'GeneralUtility::makeInstance("YourVendor''YourExtension''Helper''NestedDirectory''MenuHelper")
或者直接使用
$menuHelper = new 'YourVendor'YourExtension'Helper'NestedDirectory'MenuHelper();
Second way with TYPO3 <= 4.7
<?php
class Tx_YourExtension_Helper_NestedDirectory_MenuHelper {
}
?>
现在可以使用
创建该类的实例$menuHelper = t3lib_div::makeInstance("Tx_YourExtension_Helper_NestedDirectory_MenuHelper")
或者直接使用
$menuHelper = new Tx_YourExtension_Helper_NestedDirectory_MenuHelper();
类的名称将类装入器引导到源文件的正确路径。