Чат Telegram
Группа ВКонтакте
Новый комментарий


valera

Подскажите, пож-ста, как мы получили в переменную $post конкретный пост?

 /**
     * @Route("/posts/{slug}", name="blog_show")
     */

 public function post (Post $post){
        return $this->render('posts/show.html.twig',[

        'post'=> $post]);
    }

т.е. понятно, что Symfony нашёл пост по уникальному идентификатору из роута, а дальше как в экшене он оказался под именем $post?

lolychank
Iliusha99

Значит, symfony ищет сам в базе по полю через плейсхолдер? Или я так не понял(

cyprusscorpion

Цитата:
"Поскольку мы унаследовались от AbstractController, мы можем достать репозиторий следующим образом и это будет первый способ:
$repo = $this->getDoctrine()->getRepository(Post::class);"

А какое значение возвращает $this->getDoctrine()?

lolychank

$this->getDoctrine() возвращает ManagerRegistry. Узнать это можно, если в шторме кликнете на метод.

cyprusscorpion

Благодарю )

cyprusscorpion

Цитата:
"Возвращаемся в шаблон posts/index.html.twig и меняем ссылку на новую:

<a href="{{ path('blog_show', {'slug': post.slug}) }}">{{ post.title }}</a>".
Так мы в этом шаблоне и находимся, и только что написали в нем:

{% extends 'base.html.twig' %}

{% block body %}
    <p>{{ post.body }}</p>
{% endblock %}

Да, видимо не так просто эту "симфоническую мелодию" объяснить так, чтобы сразу все стало понятно ))

lolychank

Мы не в нем находимся. Это шаблон show.html.twig, а ссылка из index.html.twig.

cyprusscorpion

Цитирую:
"Теперь переходим в шаблон и пишем следующее:

{% extends 'base.html.twig' %}

{% block body %}
<p>{{ post.body }}</p>
{% endblock %}".
Какой шаблон??? Наверное, так и надо писать: "В шаблон show.html.twig..."
Да этот файл еще создать надо, или он автоматически создается?
Чайники приходят учиться, на них и рассчитывайте :))

valera

не в тот урок написал. переношу)

Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
Логические задачи с собеседований