Я использую последний (dev-master) администратор сонаты и хочу создать свой собственный метод createAction() для администратора сонаты. Я должен сделать это, потому что я хочу сохранить некоторую информацию о пользователе при добавлении в базу данных.
Мой собственный контроллер - S\CoreBundle\Controller\NewsAdminConroller.php
<?php
namespace S\CoreBundle\Controller;
use Sonata\AdminBundle\Controller\CRUDController as Controller;
use Symfony\Component\Security\Core\SecurityContextInterface;
class NewsAdminController extends Controller
{
/**
* Set the system user ID
*/
private function updateFields($object)
{
//some code - this is my own method
}
public function createAction(Request $request = null)
{
//code for create ... it's almost the same as default code.
}
}
CRUD по умолчанию — Sonata\AdminBundle\Controller\CRUDController.php:
class CRUDController extends Controller
{
public function createAction(Request $request = null)
{
//...
}
}
Оба метода createAction() имеют одинаковые аргументы, имя...
И это бросает мне ошибку:
Строгие стандарты PHP: объявление S\CoreBundle\Controller\NewsAdminController::createAction() должно быть совместимо с Sonata\AdminBundle\Controller\CRUDController::createAction(Symfony\Component\HttpFoundation\Request $request = NULL) в /home/mark /dev/project/src/S/CoreBundle/Controller/NewsAdminController.php в строке 129
Warning: Declaration of App\Controller\DenunciaAdminController::createAction(Symfony\Component\HttpFoundation\Request $request) should be compatible with Sonata\AdminBundle\Controller\CRUDController::createAction()
17.04.2019