Front-end в фреймворке Laravel: как передать маршруты в скрипты JS

Front-end в фреймворке Laravel: как передать маршруты в скрипты JS

От автора: здравствуйте, дорогие читатели! Так сложилось, что в данное время очень большую популярность набрала и продолжает набирать разработка front-end. А значит, back-end разработчикам так или иначе необходимо вникать в указанную технологию. Ведь очень часто оба подхода работают в паре, в результате чего практически все современные фреймворки содержат в комплекте определенные инструменты для работы с front-end приложениями: к примеру, сборщики проектов, различные библиотеки и даже полноценные фреймворки.

скачать исходники

В этом смысле один из наиболее популярных фреймворков во всем мире — Laravel — не стал исключением, он тоже содержит определенный набор указанных инструментов. Для успешной работы с ним необходимо разбираться в том, как всем этим пользоваться. Поэтому данной статьей открываем небольшой цикл уроков по особенностям разработки front-end в фреймворке Laravel.

И первое, о чем хотелось бы поговорить — это маршрутизация. Как вы знаете, Laravel имеет достаточно мощный маршрутизатор, благодаря которому при разработке приложения формируется гибкая система адресов и обработчиков определенных запросов. При этом каждый создаваемый маршрут, как правило, имеет URL — то есть путь запроса — и некое уникальное имя, которое используется для его идентификации и получения ранее указанного URL. Это позволяет разработчикам менять ранее описанные URL без каких-либо изменений кода и обработчиков.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Но как быть с front-end частью в том случае, когда необходимо отправить AJAX запрос на сервер для получения конкретных данных? Вы можете сказать, что, по большому счету, трудностей никаких нет, ведь достаточно в методе по отправке данных прописать путь требуемого обработчика. Но правила хорошего тона при работе с фреймворком не рекомендуют вручную прописывать пути, так как для этого есть имена маршрутов, используя которые, всегда можно получить требуемый URL. И это оправдано, о чем было сказано выше. Но проблема заключается в том, что для получения пути маршрута по его имени необходимо вызвать на исполнение специальный хелпер фреймворка, который, как минимум, не доступен во front-end части. Поэтому давайте исправим данную проблему.

Собственно, если невозможно получить информацию по маршрутам в JS-скриптах (интерпретор PHP работает только с файлами расширения .php), используя PHP и инструменты самого фреймворка, то на этапе загрузки приложения или на финальной стадии разработки можно передать определенные данные обо всех маршрутах в JS-приложение. Либо сохранить их в любом удобном виде для чтения из JS-скрипта, что и реализуем.

Для этого создадим собственную пользовательскую команду консоли artisan фреймворка Laravel, которая запишет в файл json информацию обо всех объявленных маршрутах. Код класса команды выглядит следующим образом:

Также напишем несложный front-end модуль, который будет считывать содержимое json-файла и предоставит удобный интерфейс для работы с маршрутами. Его код представлен ниже:

Собственно, на этом текстовая часть урока завершена. В видеоверсии вы найдете более подробную информацию по указанной теме. Затем представленный код напишем с нуля. Поэтому ждем вас в видео. Всего вам доброго и удачного кодирования!

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Фреймворк Laravel: теория и первая практика

Овладейте азами фреймворка Laravel!

Получить

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree