5 ошибок начинающих кодеров пишущих на laravel | Уроки Laravel |
HTML-код
- Опубликовано: 21 окт 2024
- 🔥 Laravel 5.5, 5.6 и выше
💕Подписывайтесь на канал 👉: bit.ly/2B4zOjq
🙉 Канал в телеграмм: bit.ly/2QcOXD4
🔊Описание:
Что такое отношения (relationships) в laravel и как это использовать вы узнаете из данного видео.
💲Реквизиты для поддержки проекта💲
Находятся по адресу dka-develop.ru:
bit.ly/2Mog3I9
-----------------------------------------------------
🌍Официальный сайт:
dka-develop.ru
©Music:
Triumph - Yung Logos
Music: Alexandr Tulupov
Спасибо! Очень ждем видео по тестам, никак добраться до них не могу :)
Отличное видео для начинающих кодеров, но вообще нужно избегать "толстых" моделей, напичканных бизнес логикой и уж тем более "толстых" контроллеров. Всю объемную бизнес логику следует выносить на Service Layer или проще говоря в отдельные сервисы, чтобы компоненты приложения были как можно более слабосвязанными.
Иначе вы закончите ваши дни с God's объектами (монолитные модели с огромным числом кода, который будет настролько нереально поддерживать, что вы проклянете день, когда начали помещать туда код, особенно, если вы помещаете туда код, чтобы улучшить бизнес логику или создаете новую архитектуру)
Хороший комментарий, но тут автор говорит что "репозиторий не используйте", а вы предлагаете ещё и на сервисы разбить)
По мне так и сервисы нужны и репозитории и тестирование
Спасибо за уроки! Остальные пока не смотрел , но судя по этому, будет интересно.
Тестрование будет очень интересно)
Предлагаю еще раскрыть тему ларавель паспорт, думаю многим полезно было бы
хорошая тема))) лайк от СЕООНЛИ
Я бы хотел попросить видео на тему: Как создать окружение для комфортной разработки(установка ларавеля, как работать с npm и так далее). Т.е как полностью настроить окружение, для разработки.
У нас есть некоторые части данных тем, но это немного разбросано и не все рассмотрено, постараемся в какое-нибудь окно этим заняться.
Автор, или может читатели/слушатели, подскажите как лучше сделать, а то я в ларавеле не очень опытный пока ещё:
У меня есть модель Car, есть модель Driver. Они должны быть связаны друг с другом many-to-many. Создаю миграцию для промежуточной таблицы в Mysql: car_driver с полями car_id, driver_id, настраиваю внешние ключи. Тут вроде всё понятно и правильно. Или в чём-то ошибся?
Далее, хочу что бы клиент делал запрос по API на добавление автомобиля и списка водителей, которые за ним будут закреплены. Другими словами, упрощённо, ожидаю получить на входе через POST-запрос структуру:
[mark: 'Toyota', number: 'x123yz199ru', drivers: [1, 3, 5]]
Где в drivers перечень id водителей, которые уже есть в базе.
Хочу в контроллере сделать что-то вроде такого:
public function create(Request $request) {
$car = new Car();
$car->apply($request->all()); // заполнение данных с валидацией
return $car->save() ? $this->ok() : $this->error($car->errors());
}
Модель Car выглядит следующим образом:
class Car extends ApplifyModel {
public $fillable = ['mark', 'number']
public $hidden = ['drivers']
public function drivers() {
return $this->belongsToMany(Driver::class);
}
pubilc function save(array $options) {
$result = parent::save($options);
if ($result) {
foreach ($this->drivers as $driverId) {
$this->drivers()->attach($this->drivers);
}
}
return $result;
}
}
B вот сомневаюсь что правильно делаю в методе save - можно ведь как-то проще?
Где бы посмотреть инфу на тему принципиальной схемы веб-приложения (роутинг и все дела)?
Спасибо! За вашу мотивацию, изучаю ларавел и не всегда получается. Проблемы с роутами и моделями. Прошу сделать видео как сделать поиск. Удачи вам.
Очень полезно, спасибо!
А что будешь использовать в тестах phpUnit или xDebug?
phpunit и dusk
Ничего что это разные вещи?
Добрый день! Подскажите, где есть хорошее русскоязычное руководство для ларавел 5.7 и выше?
На текущий момент из свежих и актуальных это только на английском языке:
laravel.com/docs/5.7
Ни видел чтобы кто-то после выхода 5.5 переводил бы документацию.
Я то думал, ща расскажут, какая религия лучше, мол толстые модели или толстые контроллеры, как гамнокодят провайдеры и где не нужно использовать мидлвары) А тут для совсем зеленых((
Про солид почитай и поймёшь что лучше толстые модели или толстые контроллеры)
это сложно для слабых умов.
@@monsterbesel солид говорит, что ни то ни другое, один класс, одна зона ответственности
Автор, подскажи пожалуйста. А если у меня графики chart.js выводятся в цикле @foreach в шаблоне, и шаблон состоит из множества различных графиков (столбчатых, круговых и т.д.), при этом данные из коллекции подставляются в labels: или в data:, то никак не избежать того, чтобы js код появлялся в шаблоне? Мы ведь не можем внутри внешнего js файла проходиться foreach'ом по коллекциям, вывести всю js логику туда, а затем подключить к вьюхе?
Что мешает перебирать коллекции и массивы в vue? Из контроллера возвращаете не view а json и все (return $namearray)
@@DKADEVELOP мне кажется вы нарушаете свой завет "вы же ребенка не заставляете бегать, прежде чем он начал ходить".. У vue своя атмосфера и с ларавелем они дружат очень косвенно
Делайте так, как умеете. Со временем, с опытом все придёт.
У меня почему-то получается много кода в контроллерах, а в моделях кроме методов связей ничего и нет. Это неверно?
по идее, всю бизнес логику выносят в модели или сервисы а в контроллере делают DI. толстые модели, тонкие контроллеры
Что такое DI?
Да, слышал, что нужны толстые модели, тонкие контроллеры. Но дело в том, что в контроллерах, как правило, несколько методов, update, delete, index и т.д. В каждом из них делается выборка, либо какого-то конкретного поста, либо всех постов и сортировка, либо просто возврат вьюхи с формой.
Поэтому если суммировать все строчки кода в контроллере (допустим, статей), то их больше, чем строчек кода в модели Articles. Потому что у статей, по идее никакой особой бизнес-логики, кроме выборки из базы и записи в базу, нету.
Возможно я пока еще не столкнулся с такими приложениями, где нужны толстые модели.
Валентин Иванов не правильно. Логика должна быть в моделях, а контроллер только связывает методы и классы моделей между собой. Контроллер должен быть худым. Да, и под контроллером понимается метод конкретный(1 метод - 1 контроллер), а не весь файл контроллера
Валентин тебе сюда elisdn.ru ///а вообще логика выносится в так называемые сервисы приложения а не в модели
Very interesting video!
А можете подсказать где прочитать/посмотреть про тесты?
Хм... первое что приходит на ум это официальная документация, так чтобы был пример сразу и проверенный нет.
Для начала тесты phpunit и dusk. По сути Dusk позволяет запускать браузерное тестирование с возможностью тестировать даже те страницы которые загружаются через js.
А вы не планируете сделать видео по тестированию?
phpunit.de/ можно здесь почитать про тестирование
В каких случаях использовать Laravel, а в каких забацать на какой то популярной CMS?
По мне писать на laravel проще чем ковырять CMS, так как практически всегда или много лишнего в нем, либо что нужно изменить.
Если нужно сделать что-то за пять минут, тогда можете использовать CMS.
Спасибо)
Мне кажется у Вас у самого есть ошибка. Вы, как и большинство, привязываете модели сугубо к БД. А по мне в модели удобно выносить логику. Таким образом делая "худые" контроллеры(все как завещали разрабы фреймворков). Если не прав - поправьте. И расскажите как вы организовываете логику в пределах проекта.
На мой скромный взгляд, лучше выносить логику в репозитории, если таковая имеется
Ставим скорость 1.25 и радуемся
6 ошибка - не говорящие названия переменных. Именно ларавель это не любит (ирония). Короче не ясно почему все сказанное в ролике притянули именно к ларавелю. Бред.
Полезное видео
Круто
А еще обращаться к базам данных в цикле , плохая практика .....
В смысле один раз в неделю по 6 часов? Это что, мои 40 часов работы нахрен никому не нужны?
Что за IDE? Это Atom?
В данном видео, да. В основной массе sublime.
Thank you
Мотивация +
Походу кого то бомбануло ))) а самое атеншен это же конечно JS во вьюхе это такой проста ааааа...
Учиться нужно по 12 часов в день, а не понемногу, иначе толку то
И ваши волосы станут гладкими и шелковистыми 😅
Оказалось я не начинающий
коротко и совсем ни о чем. Даже не о задекларированной теме. Шпала
MVC??? Это устаревшее понятие, Laravel очень далека от него :)