Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 流程3-如何初始化和使用全局控制器?_Php_Typo3_Fluid_Typo3 Flow - Fatal编程技术网

Php 流程3-如何初始化和使用全局控制器?

Php 流程3-如何初始化和使用全局控制器?,php,typo3,fluid,typo3-flow,Php,Typo3,Fluid,Typo3 Flow,我现在在flow3中有一些实体、reposetories和控制器,它们工作得很好。如果有人需要全局流体变量(例如,在默认布局中打印的用户名),他必须定义并使用全局控制器 如何创建和使用此类控制器?控制器是类,因此您可以扩展它们并创建抽象类 假设您在My.Relationships包中有LoveController。 您可以创建一些单独的基本包,即My.Life和AbstractLifeController内部(php:AbstractClass AbstractLifeController Ex

我现在在flow3中有一些实体、reposetories和控制器,它们工作得很好。如果有人需要全局流体变量(例如,在默认布局中打印的用户名),他必须定义并使用全局控制器


如何创建和使用此类控制器?

控制器是类,因此您可以扩展它们并创建抽象类

假设您在
My.Relationships
包中有
LoveController
。 您可以创建一些单独的基本包,即
My.Life
AbstractLifeController
内部(php:
AbstractClass AbstractLifeController Extendes\TYPO3\Flow\Mvc\Controller\ActionController

现在有了
initialize*
方法(其中*可能是Action、View、AnyAction等等)。在您的情况下,使用:
protectedinitializeview(\TYPO3\Flow\Mvc\View\ViewInterface$View)
在这个Abstract控制器中,分配一些变量,即
$View->assign('myName',$myName')

然后,当您的
LoveController扩展\My\Life\Controller\AbstractLifeController
时,该变量
{myName}
将在流体中对其操作使用的模板可见


因此,与其为所有控制器扩展\TYPO3\Flow\Mvc\Controller\ActionController,不如扩展这个抽象的\My\Life\Controller\AbstractLifeController

为什么需要一个全局控制器来显示用户名?你能提供进一步的细节吗?实际上,您的模型中将有一个字段users映射到users表。从那里你可以访问所有的用户和他们的名字。是的,这是正确的,但你还需要在每个控制器中获取用户。我不想对每个控制器都这么做。所以我需要一个经常被呼叫的控制器。我的错!没有看到流标签。删除了我的答案。