Я новичок в Symfony 4, и я сделал CRUD. Я хочу улучшить свой код, создав функцию, которая уменьшит его.
Пример:
Если у вас есть 2 модуля, таких как управление событиями и объявлениями (конечно, здесь вы можете добавить, получить все, удалить и обновить). Вместо длинного кода, подобного этому.
$fetch_item = $this->getDoctrine()
->getRepository(Event::class)
->findAll();
Я хочу сократить это как $ fetch = $ this-> fetch (Event :: class); Я создал новый файл в моей служебной директории.
Сервис \ Crud.php
<?php
namespace App\Service;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
*
*/
class Crud extends AbstractController
{
public function __construct(){
parent::__construct();
}
public function fetch($table)
{
$fetch_item = $this->getDoctrine()
->getRepository($table)
->findAll();
return $fetch_item;
}
}
?>
Контроллер
//
...
use App\Service\Crud;
...
class EventController extends AbstractController
public function index()
{
// $fetch_item = $this->getDoctrine()
// ->getRepository(Item::class)
// ->findAll();
$fetch = $this->fetch(Item::class);
return $this->render('base.html.twig',array(
'items' => $fetch_item
));
}
Выше приведен мой код, но он выдает ошибку «Попытка вызвать неопределенный метод с именем« fetch »класса« App \ Controller \ ItemController »»
Вопрос: Как я могу создать функцию, которая уменьшит мой код?