0
延伸femanager控制器由于使用PHP 7.0和更高的,PHP的严格模式产生这样的警告:如何下PHP 7
PHP Warning: Declaration of In2code\Femanagerextended\Controller\EditController::updateAction(In2code\Femanagerextended\Domain\Model\User $user) should be compatible with In2code\Femanager\Controller\EditController::updateAction(In2code\Femanager\Domain\Model\User $user) in ($PATH)\typo3conf\ext\femanagerextended\Classes\Controller\EditController.php line 17
试图将TYPO3扩展的现有控制器femanager使用所描述的延伸时方式在手册中的最佳实践部分:
<?php
namespace In2code\Femanagerextended\Controller;
use In2code\Femanager\Controller\EditController as EditControllerFemanager;
use In2code\Femanagerextended\Domain\Model\User;
/**
* Class EditController
*
* @package In2code\Femanagerextended\Controller
*/
class EditController extends EditControllerFemanager
{
/**
* action update
*
* @param User $user
* @validate $user In2code\Femanager\Domain\Validator\ServersideValidator
* @validate $user In2code\Femanager\Domain\Validator\PasswordValidator
* @return void
*/
public function updateAction(User $user)
{
parent::updateAction($user);
}
}
感谢您的解释!我必须将一些额外的数据传递给newAction()中的视图,并且我得到了完全的PHP7警告。我将如何实现这一点,因为$ this-> view在initializeNewAction()中不可用?顺便说一句,你能否更深入地解释你的initializeNewAction()例子?例如。什么是'/ ** @var \ Mediagear \ Jdcompetition \ Xclass \ Extbase \ Mvc \ Controller \ Argument $ user * /'这是原始用户模型的吸入性吗?再次感谢! – chris
有关如何将新属性添加到其中一个视图,请参阅femanger手册。/** @var只是我的IDE的一个提示,为var $ user –
获得代码补全再次感谢!我使用'initializeView()'方法添加了所需的变量。顺便说一句:关于这个主题还有另外一个讨论和一个详细的答案:[扩展TYPO3 femanager](https://stackoverflow.com/a/47848908/415353) – chris