Здравствуйте, очень понравился ролик, но возник вопрос, как с такой архитектурой сделать авторизацию с использование JWTтокенов, как передавать токены, сгенерированные на стороне Laravel клиенту на Vue?
Я могу описать концептуальную схему, а как именно это реализовать - это уже вопрос инструментария. 1. Клиент вводит в браузере логин/пароль или еще какую-либо аутентифицирующую информацию, отправляет это на сервер 2. Сервер проверяет, есть ли такой пользователь в БД и если он аутентифицирован, то генерирует JWT токен и отдает клиенту 3. Клиент теперь при каждом запросе к серверу передает также и свой JWT токен, с помощью которого он подтверждает свое право выдавать себя за того, за кого выдает 4. Сервер при каждом таком запросе проверяет, что информация в JWT токене соответствует действительности и пользователь имеет право на такой запрос, по подписи 5. Сервер отдает клиенту нужные данные Основная задача, которую нужно решить - это пункт 2 (генерация JWT токена) и пункт 4 (проверка JWT токена). Простое гугление по запросу "Laravel JWT" быстро приведет к нужному инструментарию.
Vue не используется как веб-сервер. Просто на этапе разработки он работает в связке со сборщиком Vite, поэтому запускаем frontend-приложение через dev-сервер vite. При этом у нас есть возможность получать расширенную отладочную информацию и прочие удобства режима разработки. Когда приложение выкатывается в продакшн, vite собирает так называемые bundle-файлы - которые просто грузятся через html-страницу и запускают то же самое javascript-приложение, но уже без отладочных плюшек. Vue также можно использовать в режиме чем-то похожем на jquery, но у jquery другой подход. JQuery работает с существующим DOM-деревом. А Vue обычно используют в режиме создания DOM-дерева. То есть, изначально в DOM есть корневой узел - и Vue-приложение в нем потом динамически создает новые узлы со своей логикой. При этом, у Vue есть также режим работы без этапа сборки - то есть когда у нас уже есть в html cвоя DOM-структура, а Vue подключается к ней и производит определенные манипуляции. Рекомендую поэкспериментировать на tutorial в режиме html и sfc здесь: vuejs.org/tutorial/#step-1 А также изучить хотя бы quickstart часть в документации: vuejs.org/guide/quick-start.html Картина станет более понятной. Но сразу скажу, что после долгого периода работы с jQuery, перестроить мозг на Vue может быть довольно сложно, потому что принцип во многом очень сильно отличается и старые подходы здесь будут крайне неудобны, из--за чего может сложиться впечатление, что Vue неудобен. Но на самом деле просто нужно забыть про все, что ты знал с jQuery и посмотреть свежим взглядом. :)
Спасибо за урок. Вопрос: как всё-таки вывести ФИО, остальные колонки выводятся благодаря совпадению названия поля в БД и в columns? И как сделать динамичным количество страниц (в уроке оно всегда равно 5)?
Вывод ФИО я сейчас сделал через слоты с динамическим именем. Выглядит это так (внутри компонента Table): {{ row.hasOwnProperty(column.key) ? row[column.key] : '' }} Далее, через такую конструкцию: {{ row.first_name }} {{ row.last_name }} я в ячейке, где выводилось бы по-умолчанию только first_name, я вывожу first_name и last_name Динамическое количество страниц делается на фронтенде с помощью ref-переменной, которая динамически попадает в строку запроса к серверу. На сервере, соответственно, эту строку запроса нужно разобрать и выводить нужное количество позиций на страницу. Понимаю, что в комментарии на UA-cam не смогу изложить все-все тонкости, но надеюсь, что направление мысли задать получилось :)
Мне жадно необходимы знания в эволюции по laravel. Я долгие годы лепил лендинги и сайты-каталоги на различных CMS, с обычными MySQL БД. Теперь мне жуть как интересно делать highload spa сайты на laravel+vuejs (прежде всего lara). Курс по lara очень будет любопытен. В частности интересно как избавляться от жирных контроллеров, паттерны, solid, вобщем все что делает хоть шаг за задачи уровня элементарного CRUD. Также по большому счету интересно повышать навык программирования на PHP в принципе и особняком любопытен разбор всех возможностей php в области ООП. Вокруг много теории но слабо доходит накой черт нужны например enum, dto, di и так не счесть сколько всего, но касательно ООП. На мой взгляд тут это все сочетается. Вобщем интересен курс не для начинающего а для продолжающего.
С Java я знаком очень мало, поэтому трудно дать какие-то дельные комментарии насчет этого. Помню только, что на Java разрабатываются мощные Enterprise-приложения. На этом моя экспертиза все... :) Насчет C#. С ним у меня опыт был в далеком 2009-м году. Тогда этот язык использовался мной для разработки банковской системы учета финансов. В каком статусе C# сегодня, затрудняюсь дать ответ. Что же касается PHP, то про него могу сказать, что он популярен, у него невысокий порог входа в разработку и для него есть много open-source инструментов. Например, тот же Laravel - очень удобный и гибкий фреймворк. В любом случае, каждый из этих языков широко используется для одних задач и более редко для других. Что-то лучше подходит для высоконагруженных проектов, что-то лучше подходит для более простых проектов. Поэтому нужно отталкиваться от того, что вам больше нравится, к чему больше испытываете интерес. Те инструменты и используйте.
продолжаю просмотр, но не удержался от написания коментария. Ох уже эти разработчики vite, по всем правилам английского языка нужно произносить как "вайт", но они упрямо требут произносить "вит".
Ох уж эти "разработчики", которые никогда не открывали документацию вита, где на первой же строчке в гет стартед транслейтом разрабы указали, что правильно ВИТ.
ууух спасибо огромное, теперь есть чем заняться в свой выходной)
Спасибо за видео. Особенно за фильтры и сортировку
Отличное видео. Очень жду курс по Laravel от Lectoria!
24:55 зачем экранизировать параметры? Разве лара это не делает из коробки?
Спасибо большое Lectoria top!
Зачем в фон поставлена музыка? чтобы пользователь релаксировал а не сосредотачивался?
Спасибо за видео
Спасибо большое, отличный туториал!
работал с laravel countries? покажешь как делать мультиязчные теги категории страны города ?
Спасибо большое
да, хочу про Ларавел. Особенно про работу с Эксель
Здравствуйте, очень понравился ролик, но возник вопрос, как с такой архитектурой сделать авторизацию с использование JWTтокенов, как передавать токены, сгенерированные на стороне Laravel клиенту на Vue?
Я могу описать концептуальную схему, а как именно это реализовать - это уже вопрос инструментария.
1. Клиент вводит в браузере логин/пароль или еще какую-либо аутентифицирующую информацию, отправляет это на сервер
2. Сервер проверяет, есть ли такой пользователь в БД и если он аутентифицирован, то генерирует JWT токен и отдает клиенту
3. Клиент теперь при каждом запросе к серверу передает также и свой JWT токен, с помощью которого он подтверждает свое право выдавать себя за того, за кого выдает
4. Сервер при каждом таком запросе проверяет, что информация в JWT токене соответствует действительности и пользователь имеет право на такой запрос, по подписи
5. Сервер отдает клиенту нужные данные
Основная задача, которую нужно решить - это пункт 2 (генерация JWT токена) и пункт 4 (проверка JWT токена). Простое гугление по запросу "Laravel JWT" быстро приведет к нужному инструментарию.
Vue только как веб-сервер может работать с Laravel? Как jQuery например его нельзя использовать статично?
Vue не используется как веб-сервер. Просто на этапе разработки он работает в связке со сборщиком Vite, поэтому запускаем frontend-приложение через dev-сервер vite. При этом у нас есть возможность получать расширенную отладочную информацию и прочие удобства режима разработки. Когда приложение выкатывается в продакшн, vite собирает так называемые bundle-файлы - которые просто грузятся через html-страницу и запускают то же самое javascript-приложение, но уже без отладочных плюшек.
Vue также можно использовать в режиме чем-то похожем на jquery, но у jquery другой подход. JQuery работает с существующим DOM-деревом. А Vue обычно используют в режиме создания DOM-дерева. То есть, изначально в DOM есть корневой узел - и Vue-приложение в нем потом динамически создает новые узлы со своей логикой. При этом, у Vue есть также режим работы без этапа сборки - то есть когда у нас уже есть в html cвоя DOM-структура, а Vue подключается к ней и производит определенные манипуляции.
Рекомендую поэкспериментировать на tutorial в режиме html и sfc здесь: vuejs.org/tutorial/#step-1
А также изучить хотя бы quickstart часть в документации: vuejs.org/guide/quick-start.html
Картина станет более понятной.
Но сразу скажу, что после долгого периода работы с jQuery, перестроить мозг на Vue может быть довольно сложно, потому что принцип во многом очень сильно отличается и старые подходы здесь будут крайне неудобны, из--за чего может сложиться впечатление, что Vue неудобен. Но на самом деле просто нужно забыть про все, что ты знал с jQuery и посмотреть свежим взглядом. :)
Спасибо за урок.
Вопрос: как всё-таки вывести ФИО, остальные колонки выводятся благодаря совпадению названия поля в БД и в columns?
И как сделать динамичным количество страниц (в уроке оно всегда равно 5)?
Вывод ФИО я сейчас сделал через слоты с динамическим именем. Выглядит это так (внутри компонента Table):
{{ row.hasOwnProperty(column.key) ? row[column.key] : '' }}
Далее, через такую конструкцию:
{{ row.first_name }} {{ row.last_name }} я в ячейке, где выводилось бы по-умолчанию только first_name, я вывожу first_name и last_name
Динамическое количество страниц делается на фронтенде с помощью ref-переменной, которая динамически попадает в строку запроса к серверу. На сервере, соответственно, эту строку запроса нужно разобрать и выводить нужное количество позиций на страницу.
Понимаю, что в комментарии на UA-cam не смогу изложить все-все тонкости, но надеюсь, что направление мысли задать получилось :)
Супер🎉
Привет. Очень качественный курс, спасибо огромное за труды!!!
А можно ссылку на макет сайта я что то не нашел?
Добавил в описание. Дублирую:
✅ Макеты Open CRM:
👉 open-crm-demo.artprog.pro/
👉 github.com/azernov/open-crm
Мне жадно необходимы знания в эволюции по laravel. Я долгие годы лепил лендинги и сайты-каталоги на различных CMS, с обычными MySQL БД. Теперь мне жуть как интересно делать highload spa сайты на laravel+vuejs (прежде всего lara).
Курс по lara очень будет любопытен. В частности интересно как избавляться от жирных контроллеров, паттерны, solid, вобщем все что делает хоть шаг за задачи уровня элементарного CRUD. Также по большому счету интересно повышать навык программирования на PHP в принципе и
особняком любопытен разбор всех возможностей php в области ООП. Вокруг много теории но слабо доходит накой черт нужны например enum, dto, di и так не счесть сколько всего, но касательно ООП.
На мой взгляд тут это все сочетается. Вобщем интересен курс не для начинающего а для продолжающего.
🎉🎉🎉🎉 круто
1 0 1 мой друг. Нравится backend, выбираю между PHP, Java, C# что посоветуете и почему?
С Java я знаком очень мало, поэтому трудно дать какие-то дельные комментарии насчет этого. Помню только, что на Java разрабатываются мощные Enterprise-приложения. На этом моя экспертиза все... :)
Насчет C#. С ним у меня опыт был в далеком 2009-м году. Тогда этот язык использовался мной для разработки банковской системы учета финансов. В каком статусе C# сегодня, затрудняюсь дать ответ.
Что же касается PHP, то про него могу сказать, что он популярен, у него невысокий порог входа в разработку и для него есть много open-source инструментов. Например, тот же Laravel - очень удобный и гибкий фреймворк.
В любом случае, каждый из этих языков широко используется для одних задач и более редко для других. Что-то лучше подходит для высоконагруженных проектов, что-то лучше подходит для более простых проектов. Поэтому нужно отталкиваться от того, что вам больше нравится, к чему больше испытываете интерес. Те инструменты и используйте.
Музыка лишняя конечно, на скорости просмотра в х1.5- х2 очень тяжело смотреть.
продолжаю просмотр, но не удержался от написания коментария. Ох уже эти разработчики vite, по всем правилам английского языка нужно произносить как "вайт", но они упрямо требут произносить "вит".
А вроде как vite от французского ) Вит ) Что означает "быстрый"
Ох уж эти "разработчики", которые никогда не открывали документацию вита, где на первой же строчке в гет стартед транслейтом разрабы указали, что правильно ВИТ.
@@flops6066нееее, єто от слова белий.
Просто не решились називать White, а назвали словом Vite.
Создатель фреймворка родом из Родезии, горд человек
спасибо человечище - я вот все изучаю изучаю а начать кодить никак не могу - все время ищу примеры кода - как побороть
приходи к нам на "Хекслет" - поборешь!
Побороть очень просто - взять реальную задачу и сделать ее на Laravel + Vue ) Хочешь-не хочешь, а рано или поздно сделаешь! )