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