我有一个名为Menu
的扩展程序,需要MenuHelper
文件夹中ext/menu/Classes/Helper
类的帮助。
如何在我的控制器中使用它?仅当“MenuHelper”类位于控制器文件夹中时才会访问它。
我想在我的控制器中使用它:
public function listAction() {
$menugenerators=new MenuHelper(); # Will return something
$this->view->assign('menugenerators', $menugenerators);
}
答案 0 :(得分:1)
如果将一个类放在目录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();
TYPO3&lt; = 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();
类的名称将类加载器定向到源文件的正确路径。文件与该类具有相同的名称非常重要。