Я пытаюсь создать REST API с помощью Symfony 3.4, но столкнулся с некоторыми трудностями, чтобы научиться использовать этот пакет.
Поэтому, когда я пытаюсь просмотреть некоторые учебные пособия, я получаю ошибки из-за смены версии пакета. Поэтому я обнаружил, что пытаюсь копировать и вставлять любую конфигурацию, пока она не заработает, я чувствую себя очень уродливо.
Я пытался получить фильмы в формате JSON.
При первой моей проблеме я получал эту ошибку:
There are no registered paths for namespace App
Twig_Error_Loader
Я разрешаю это, добавляя это в config.yaml
fos_rest:
view:
view_response_listener: force
Но через некоторое время и без каких-либо изменений появляется новая ошибка:
An instance of Symfony\Bundle\FrameworkBundle\Templating\EngineInterface must be injected in FOS\RestBundle\View\ViewHandler to render templates.
MoviesController.php:
<?php
namespace AppBundle\Controller;
use FOS\RestBundle\Controller\ControllerTrait;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
// use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use FOS\RestBundle\Controller\Annotations as Rest;
use AppBundle\Entity\Movie;
class MoviesController extends AbstractController
{
use ControllerTrait;
/**
* @Rest\View(populateDefaultVars=false)
*/
public function getMoviesAction(){
$movies = $this->getDoctrine()
->getRepository(Movie::class)
->findAll();
// print_r($movies); die;
return $movies;
}
}
и когда мы видим документ, я спрашиваю, как я могу понять эти строки:
https://symfony.com/doc/master/bundles/FOSRestBundle/configuration-reference.html
Итак, мой вопрос сегодня - это основной вопрос: как научиться использовать определенный пакет в Symfony и работать как профессионал? проблема с концептуальными пакетами связана с его плохой документацией или со мной?