0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Шаблоны сайта содержат множество внутренних ссылок: от меню до кнопок и форм. До сих пор мы формировали эти ссылки там, где они нам нужны:</p>
1
<p>Шаблоны сайта содержат множество внутренних ссылок: от меню до кнопок и форм. До сих пор мы формировали эти ссылки там, где они нам нужны:</p>
2
<p>Так же ссылки строятся и в обработчиках, например, при редиректах:</p>
2
<p>Так же ссылки строятся и в обработчиках, например, при редиректах:</p>
3
<p>В примерах выше формирование ссылки зашито прямо в то место, где она используется. Такой способ формирования ссылок потенциально опасен. Например, если маршрут изменится с /users/{id} на /u/{id}, придется пройтись по всем шаблонам и изменить все ссылки /users/<?= $user['id'] ?> на /u/<?= $user['id'] ?>.</p>
3
<p>В примерах выше формирование ссылки зашито прямо в то место, где она используется. Такой способ формирования ссылок потенциально опасен. Например, если маршрут изменится с /users/{id} на /u/{id}, придется пройтись по всем шаблонам и изменить все ссылки /users/<?= $user['id'] ?> на /u/<?= $user['id'] ?>.</p>
4
<p>Если этот маршрут удалить, то сайт продолжит работать, но ссылки начнут вести на страницы 404. Лучше, если страницы с такими ссылками начнут выдавать ошибки. Тогда выявить подобные ссылки будет просто.</p>
4
<p>Если этот маршрут удалить, то сайт продолжит работать, но ссылки начнут вести на страницы 404. Лучше, если страницы с такими ссылками начнут выдавать ошибки. Тогда выявить подобные ссылки будет просто.</p>
5
<p>Для решения этой задачи придумали именованные маршруты. Каждому маршруту фреймворка присваивается имя, которое затем можно использовать при построении конкретной ссылки:</p>
5
<p>Для решения этой задачи придумали именованные маршруты. Каждому маршруту фреймворка присваивается имя, которое затем можно использовать при построении конкретной ссылки:</p>
6
<p>В реальных приложениях ссылки формируются во многих частях приложениях:</p>
6
<p>В реальных приложениях ссылки формируются во многих частях приложениях:</p>
7
<ul><li>В шаблонах</li>
7
<ul><li>В шаблонах</li>
8
<li>В обработчиках (при редиректах)</li>
8
<li>В обработчиках (при редиректах)</li>
9
<li>В письмах</li>
9
<li>В письмах</li>
10
</ul><p>Поэтому большинство фреймворков предоставляют готовую функцию, которую можно использовать везде, где формируются ссылки.<a>PHP-View</a>, который мы используем, не добавляет этот метод в шаблоны. Но это возможно в<a>Twig-View</a>. В последнем ссылки в шаблонах строятся так:</p>
10
</ul><p>Поэтому большинство фреймворков предоставляют готовую функцию, которую можно использовать везде, где формируются ссылки.<a>PHP-View</a>, который мы используем, не добавляет этот метод в шаблоны. Но это возможно в<a>Twig-View</a>. В последнем ссылки в шаблонах строятся так:</p>
11
11