Laravel 10. Routing (маршрутизация) в Laravel. Часть 2

  Рет қаралды 2,250

Андрей Кудлай

Андрей Кудлай

Күн бұрын

Пікірлер: 59
@i.am.mikhailov
@i.am.mikhailov 4 ай бұрын
Максимально понятно. Спасибо!
@Alex_Pav0208
@Alex_Pav0208 Жыл бұрын
Спасибо за отличный урок
@КузьмаИпатьевич
@КузьмаИпатьевич Жыл бұрын
Спасибо за отличные уроки. Ждём продолжение.
@arthur_478
@arthur_478 Жыл бұрын
Спасибо за очередной урок 👍. Ждем продолжения
@digitalturkistan1857
@digitalturkistan1857 9 ай бұрын
Спасибо очень очень понятные уроки
@Национал-предатель
@Национал-предатель 6 ай бұрын
Вот это мозг у меня лопнул. Спасибо, очередной лайк. Раньше проходил уроки по Джанго в целом всё так же но данные там прямо пишут, как здесь вариант "без контроллера" или около того. Но сайты на джанго не очень хочется делать)
@Denis-pu4bt
@Denis-pu4bt 8 ай бұрын
Good tutorial, thanks 🔥🔥🔥
@matroskin978
@matroskin978 8 ай бұрын
Thanks! 🙂
@Игорь-ы5ъ9э
@Игорь-ы5ъ9э Жыл бұрын
Огромное спасибо, отличная подача материала особенно в свете того что перевода документации к 10ке еще нет
@matroskin978
@matroskin978 Жыл бұрын
Пожалуйста 😉
@matroskin978
@matroskin978 Жыл бұрын
Мои курсы на Udemy Курс по созданию интернет-магазина и веб-приложений в Telegram - www.udemy.com/course/telegram-bots-web-apps/?referralCode=A574DFE059CF9FF4E002 Курс по созданию собственного шаблона интернет-магазина для OpenCart 3 - www.udemy.com/course/opencart-3/?referralCode=96BAF7C78DF57D6A90CA Курс по PHP - www.udemy.com/course/php-8-ua/?referralCode=4DAAEA9CF6ADF447D879 СУБД MySQL и язык запросов SQL. Теория и практика - www.udemy.com/course/mysql-sql/?referralCode=B6655F05D32032D80C0B Не получается приобрести курс или нужна скидка - обращайтесь. Решим :)
@suhomlinov-vitaliy
@suhomlinov-vitaliy 8 ай бұрын
Мне интересен ваш курс по СУБД MySQL но хотелось бы уточнить такой момент, это свежий курс? Там вы рассматриваете Mysql 8? Или это перезалив вашего старого курса по Mysql (из 13 - 14 года)?
@matroskin978
@matroskin978 8 ай бұрын
@@suhomlinov-vitaliy нет, это не перезалив. Это свежий курс, записанный в прошлом году. Соответственно, при записи курса использовались актуальные версии СУБД.
@3m1n41k
@3m1n41k Жыл бұрын
Spasibo Uroki super
@АлександрКотомцев-ю8ы
@АлександрКотомцев-ю8ы 9 ай бұрын
спасибо!
@sdsaasdasd4683
@sdsaasdasd4683 11 ай бұрын
Спасибо!!!
@SolarOffRoader
@SolarOffRoader Жыл бұрын
Добрый день! Спасибо за уроки. Такой вопрос) Можно ли дополнить эту тему ещё одним видом роутинга или ответить здесь? Где все адреса ведут к одной странице, на которой с помощью JS можно менять контент в зависимости от адреса, не перезагружая каждый раз страницу.
@matroskin978
@matroskin978 Жыл бұрын
Добрый день! Пожалуйста 🙂 Вариант с одним маршрутом для любого адреса я как раз и показал в уроке - это fallback: Route::fallback([HomeController::class, 'index']); Теперь все адреса будет обрабатывать HomeController и его метод index. Там уже можно подключать в шаблоне нужный JS и работать с адресами через JS.
@SolarOffRoader
@SolarOffRoader Жыл бұрын
@@matroskin978 спасибо!
@EL_G2323
@EL_G2323 10 ай бұрын
Огромное спасибо за уроки! Я совсем новичок в PHP, расскажите пожалуйста про фигурные скобки и кавычки (3:28). АПД: и про контроллер NVS (?)
@matroskin978
@matroskin978 9 ай бұрын
Пожалуйста) Если Вы совсем новичок, то Вам бы пройти вначале курс по основам PHP. Без основ будет сложно... С кавычками просто. В одинарных кавычках переменные не обрабатываются. В двойных - обрабатываюся. Поэтому в двойных кавычках будет выведено значение переменной, а в одинарных переменная будет восприниматься как обычная строка, т.е. ее значение выведено не будет. Например: $id = 10; echo 'Значение переменной: $id'; // Значение переменной: $id echo "Значение переменной: $id"; // Значение переменной: 10 Фигурные скобки позволяют явно указать имя переменной, поскольку после нее могут идти без пробела дополнительные символы. Пример: $id = 10; echo "Значение переменной: $idth"; // Значение переменной: вместо значения будет ошибка о неопределенной переменной $idth echo "Значение переменной: {$id}th"; // Значение переменной: 10th >>> и про контроллер NVS Это уже не программирование, насколько я понял)
@EL_G2323
@EL_G2323 9 ай бұрын
@@matroskin978 спасибо! Я совсем новичок... Поэтому вероятно буду задавать совсем тупые вопросы ... Читаю книгу Котерова, пока идёт трудно, вот ещё ваши уроки слушаю и пытаюсь что-то ковырять... Не бросайте пожалуйста видео уроки, у вас интересно и просто получается донести информацию!
@matroskin978
@matroskin978 9 ай бұрын
Книги - это хорошо. Но по большому счету - это пересказ документации. А проблема документации и книг, получается, по большей части - отсутствие структурированности и практики. Исключение - книги, в которых показано создание какого-то приложения. Помню по своему опыту. Пытался читать и документацию, и Котерова прочитал, но в голове не складывалолось все это в какую-то целостную картину. Как раз потому, что не показано было применение этих знаний на практике. Поэтому документация и книги уже больше подойдут для углубления имеющихся знаний и обращения к ним в качестве справочника.
@EL_G2323
@EL_G2323 9 ай бұрын
@@matroskin978 ну вот сейчас бОльшая часть Котерова "РНР 8" прочитана... Опытные говорят кто что: кто-то говорит что бросай и переходи к практике (но я кроме Codewars ничего еще не пробовала), кто-то говорит что дочитывай "как есть, авось че в голове останется". Еще есть книга Зандастры, но ее еще не начинала - она вроде не для новичков... Мне хоть немного помогает тот факт что рукожопила сайты на WP поэтому часть терминологии и смежных знаний не вводят в ступор. А в целом не могу не согласиться с тем что в голове никак не получается понять как это все работает... Кстати, спасибо вам за аналогии! Без них было бы не просто понять что такое Ларавель в принципе и на кой он нужен...
@matroskin978
@matroskin978 9 ай бұрын
Ну пробуйте дочитать Котерова, лишним точно не будет - читать всегда полезно)) Но с практикой старайтесь обязательно совмещать.
@ЕвгенийРекламный
@ЕвгенийРекламный Жыл бұрын
Подскажите, как передать необязательный параметр в случае отправки массива? Т.е. в Route::get('/{id?}', [MainController::class, 'index']); ?
@matroskin978
@matroskin978 Жыл бұрын
Что значит "отправка массива"? Если Вы имеете в виду некоторый набор значений через разделитель, то так и передавайте. Например: 1,2,3 - список значений, который и попадет в вот такой маршрут: Route::get('/test/{ids?}', function ($ids = null) { return "List: {$ids}"; }); По запросу /test/1,2,3 в переменную $ids придут значения 1,2,3. Если этих значений не будет в запросе, тогда в переменной будет null.
@ЕвгенийРекламный
@ЕвгенийРекламный Жыл бұрын
@@matroskin978 Вторым параметром в Route::get может быть callback функция, а может быть массив. Верно? Я хочу отправить массив. В моем примере метод index из контроллера MainController будет обрабатывать этот маршрут. Но при необязательном параметре мы все равно должны что-то передать в метод, т.к. в контроллере будет стоять public function index($id) . У вас как раз и стоит function ($ids = null) . Пробовал ставить public function index($id = null) в методе контроллера, как бы подразумевая, если к нам id не пришло берем значение по умолчанию, но выходит ошибка. Может в Route::get еще что-то нужно прописать?
@matroskin978
@matroskin978 Жыл бұрын
@@ЕвгенийРекламный ничего дополнительно прописать в маршрут не нужно. Вот маршрут: Route::get('/test/{id?}', [HomeController::class, 'test'])->name('home.test'); Вот экшен: public function test($id = null): \Illuminate\View\View { dump($id); return view('home.test'); } Отрабатывают оба адреса: /test/ /test/10 В переменную $id приходит либо параметр, либо null. Ошибки нет, только что проверил. В следующем уроке, если не забуду, попробую и показать.
@ЕвгенийРекламный
@ЕвгенийРекламный Жыл бұрын
@@matroskin978 тогда как принять параметр id в методе index? Ошибки нет только когда пишу в контроллере public function index($id = 0) . Но здесь, как-будто, переопределяется переменная $id и она всегда равно 0. И соответственно переменную из формы не вижу. Как получить переменную?
@ЕвгенийРекламный
@ЕвгенийРекламный Жыл бұрын
:) экшен не догадался развернуть :) Весь ответ только что увидел. Получается у вас получается :) , а у меня почему-то не заходит .... проверяю в методе вот так if((int)$id != 0) dd($id); dd - ни разу не вылезло ....
@pir0zh0kDevTV
@pir0zh0kDevTV 2 ай бұрын
Может возникнуть путаница с fallback роутом. Хз, как на 10, а на 11 версии лары abort не отдает 404 страницу. Если у вас так-же, убираем (комментим) fallback роут и тогда получим нашу 404 страницу.
@matroskin978
@matroskin978 2 ай бұрын
fallback в типовых проектах и не нужен. Это было просто показано, как возможность, которую можно использовать, если будет такая необходимость. Возможность эта, скорее, нужна для SPA-приложений. Для типовых сайтов она не нужна.
@pir0zh0kDevTV
@pir0zh0kDevTV 2 ай бұрын
@@matroskin978 в spa и fallback не нужен. Роутинг spa-шек позволяет сделать 404) Да и написал я больше для того, что бы народ не терялся) А то повторять повторяешь, а не работает) Грустненько становится
@matroskin978
@matroskin978 2 ай бұрын
@@pir0zh0kDevTV в любом случае, как и написал выше, fallback на стандартных сайтах не нужен. Что касается Laravel 11, то сейчас ради интереса проверил - работает. Route::fallback(function () { return 'fallback route'; }); Для несуществующих адресов выводит указанное сообщение. И abort() у меня в 11-ой версии работает также, как и в 10-ой. Route::fallback(function () { abort(404); }); Если нет кастомного, тогда будет использован дефолтный шаблон 404 страницы. Но, повторюсь еще раз, такая запись не имеет большого смысла, поскольку и без нее Laravel отдаст 404 страницу для несуществующих адресов.
@ЭдемСмаил
@ЭдемСмаил 2 ай бұрын
Андрей ,здравствуйте скиньте пожалуйста по возможности api ключ своих знаний и опыта👻 спс
@matroskin978
@matroskin978 2 ай бұрын
Здравствуйте! А вот в каждом видео есть частичка этого самого ключа 😂
@Никита-в8ы6й
@Никита-в8ы6й Жыл бұрын
Эх, ИМ на Opencart совсем забросили😔
@matroskin978
@matroskin978 Жыл бұрын
Не совсем) На днях запишу новый урок 🙂
@Никита-в8ы6й
@Никита-в8ы6й Жыл бұрын
@@matroskin978 Супер)
@lionvsalex
@lionvsalex Жыл бұрын
Спасибо за уроки, но мне не совсем понятно зачем так изгаляться с выводом 404 страницы? Новичку особенно...
@matroskin978
@matroskin978 Жыл бұрын
Пожалуйста 🙂 С 404 ничего особенного я и не делал. Показал, как создать свою. Как передать динамически сообщение об ошибке. Новичку, возможно и ни к чему, но урок могут смотреть и не только новички) кому-то может пригодиться.
@lionvsalex
@lionvsalex Жыл бұрын
​​@@matroskin978, возможно ли таким способом выводить стилизованную вьюшку с 404-й ошибкой? Или для этого есть более простой способ?
@matroskin978
@matroskin978 Жыл бұрын
@@lionvsalex каким способом? Я их показал несколько. Самый простой и стандартный способ по сути - просто создать страницу по пути resources\views\errors\404.blade.php - это и будет страница 404 ошибки. Отдельного маршрута fallback указывать для нее не нужно. Laravel при возникновении ошибки 404 будет показывать эту страницу автоматически. Ну а что Вы там уже напишете - это в Ваших руках.
@lionvsalex
@lionvsalex Жыл бұрын
@@matroskin978 теперь доходчиво и понятно, спасибо за ответы. Жду с нетерпением новых выпусков!
@matroskin978
@matroskin978 Жыл бұрын
@@lionvsalex пожалуйста 😉
@suhomlinov-vitaliy
@suhomlinov-vitaliy 8 ай бұрын
Андрей, я не понимаю в чем дело, но я уже три раза подписываюсь на ваш канал и через день я снова вижу, что вас нет в списку моих подписок и снова светится кнопка "подписаться". Если эта ситуация не только со мной, то вы теряете подписчиков через это.
@matroskin978
@matroskin978 8 ай бұрын
Слышал о такой проблеме на KZbin в целом, т.е. не раз разные блогеры озвучивали зрителям: проверьте свои подписки - они пропадают. Почему так происходит - это вопрос уже к платформе. Я, к сожалению, на это никак повлиять не могу 😞
@suhomlinov-vitaliy
@suhomlinov-vitaliy 8 ай бұрын
@@matroskin978 Да, я написал дважды так как первый мой комментарий не отображался. Я подумал, что забыл нажать "оставить комментарий" или был какой то сбой. Просто это показалось мне странный, что каждый день подписка пропадает. Ну надеюсь это только со мной такая проблема.
@matroskin978
@matroskin978 8 ай бұрын
@@suhomlinov-vitaliy мне тоже хотелось бы на это надеяться. А в идеале чтобы и у вас такой проблемы не было 🙂
@suhomlinov-vitaliy
@suhomlinov-vitaliy 8 ай бұрын
@@matroskin978 Действительно что-то странное. после пары тройки дней корректной работы, подписка на ваш канал снова исчезла.
Мультиязычность на Laravel. Часть 4
45:02
Андрей Кудлай
Рет қаралды 267
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
Авторизация и роли в Laravel. Урок 1. Gates
1:33:34
Андрей Кудлай
Рет қаралды 651
Выполнение тестового задания на Laravel
55:05
Андрей Кудлай
Рет қаралды 1,6 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН