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

Комментарии • 58

  • @n0mail2day
    @n0mail2day 6 лет назад +25

    Спасибо! Очень ждем видео по тестам, никак добраться до них не могу :)

  • @afterglow392
    @afterglow392 5 лет назад +8

    Отличное видео для начинающих кодеров, но вообще нужно избегать "толстых" моделей, напичканных бизнес логикой и уж тем более "толстых" контроллеров. Всю объемную бизнес логику следует выносить на Service Layer или проще говоря в отдельные сервисы, чтобы компоненты приложения были как можно более слабосвязанными.
    Иначе вы закончите ваши дни с God's объектами (монолитные модели с огромным числом кода, который будет настролько нереально поддерживать, что вы проклянете день, когда начали помещать туда код, особенно, если вы помещаете туда код, чтобы улучшить бизнес логику или создаете новую архитектуру)

    • @borismor1
      @borismor1 Год назад

      Хороший комментарий, но тут автор говорит что "репозиторий не используйте", а вы предлагаете ещё и на сервисы разбить)
      По мне так и сервисы нужны и репозитории и тестирование

  • @ВебМастер-ж5ъ
    @ВебМастер-ж5ъ 5 лет назад +2

    Спасибо за уроки! Остальные пока не смотрел , но судя по этому, будет интересно.

  • @eaglesm1993
    @eaglesm1993 5 лет назад +3

    Тестрование будет очень интересно)

  • @dmitry6687
    @dmitry6687 5 лет назад +1

    Предлагаю еще раскрыть тему ларавель паспорт, думаю многим полезно было бы

  • @seoonlyRU
    @seoonlyRU 2 года назад +1

    хорошая тема))) лайк от СЕООНЛИ

  • @Изилайф-д2л
    @Изилайф-д2л 6 лет назад

    Я бы хотел попросить видео на тему: Как создать окружение для комфортной разработки(установка ларавеля, как работать с npm и так далее). Т.е как полностью настроить окружение, для разработки.

    • @DKADEVELOP
      @DKADEVELOP  6 лет назад +2

      У нас есть некоторые части данных тем, но это немного разбросано и не все рассмотрено, постараемся в какое-нибудь окно этим заняться.

  • @OOOJohnJ
    @OOOJohnJ 5 лет назад

    Автор, или может читатели/слушатели, подскажите как лучше сделать, а то я в ларавеле не очень опытный пока ещё:
    У меня есть модель 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 - можно ведь как-то проще?

  • @fromillia
    @fromillia 6 лет назад

    Где бы посмотреть инфу на тему принципиальной схемы веб-приложения (роутинг и все дела)?

  • @alisheradm6527
    @alisheradm6527 6 лет назад

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

  • @aleksandrgurnak3911
    @aleksandrgurnak3911 6 лет назад

    Очень полезно, спасибо!

  • @asterisk007
    @asterisk007 6 лет назад

    А что будешь использовать в тестах phpUnit или xDebug?

    • @DKADEVELOP
      @DKADEVELOP  6 лет назад

      phpunit и dusk

    • @basvalan
      @basvalan 4 года назад +1

      Ничего что это разные вещи?

  • @butcherfirewaters
    @butcherfirewaters 5 лет назад

    Добрый день! Подскажите, где есть хорошее русскоязычное руководство для ларавел 5.7 и выше?

    • @DKADEVELOP
      @DKADEVELOP  5 лет назад

      На текущий момент из свежих и актуальных это только на английском языке:
      laravel.com/docs/5.7
      Ни видел чтобы кто-то после выхода 5.5 переводил бы документацию.

  • @k0mar12
    @k0mar12 6 лет назад +9

    Я то думал, ща расскажут, какая религия лучше, мол толстые модели или толстые контроллеры, как гамнокодят провайдеры и где не нужно использовать мидлвары) А тут для совсем зеленых((

    • @monsterbesel
      @monsterbesel 5 лет назад

      Про солид почитай и поймёшь что лучше толстые модели или толстые контроллеры)

    • @alexanderyusov290
      @alexanderyusov290 5 лет назад

      это сложно для слабых умов.

    • @angel-astrocrafter
      @angel-astrocrafter 2 года назад

      @@monsterbesel солид говорит, что ни то ни другое, один класс, одна зона ответственности

  • @wskeal86
    @wskeal86 6 лет назад

    Автор, подскажи пожалуйста. А если у меня графики chart.js выводятся в цикле @foreach в шаблоне, и шаблон состоит из множества различных графиков (столбчатых, круговых и т.д.), при этом данные из коллекции подставляются в labels: или в data:, то никак не избежать того, чтобы js код появлялся в шаблоне? Мы ведь не можем внутри внешнего js файла проходиться foreach'ом по коллекциям, вывести всю js логику туда, а затем подключить к вьюхе?

    • @DKADEVELOP
      @DKADEVELOP  6 лет назад

      Что мешает перебирать коллекции и массивы в vue? Из контроллера возвращаете не view а json и все (return $namearray)

    • @iamforbs
      @iamforbs 6 лет назад

      @@DKADEVELOP мне кажется вы нарушаете свой завет "вы же ребенка не заставляете бегать, прежде чем он начал ходить".. У vue своя атмосфера и с ларавелем они дружат очень косвенно

    • @iamforbs
      @iamforbs 6 лет назад

      Делайте так, как умеете. Со временем, с опытом все придёт.

  • @wskeal86
    @wskeal86 6 лет назад +1

    У меня почему-то получается много кода в контроллерах, а в моделях кроме методов связей ничего и нет. Это неверно?

    • @n0mail2day
      @n0mail2day 6 лет назад +1

      по идее, всю бизнес логику выносят в модели или сервисы а в контроллере делают DI. толстые модели, тонкие контроллеры

    • @wskeal86
      @wskeal86 6 лет назад +1

      Что такое DI?
      Да, слышал, что нужны толстые модели, тонкие контроллеры. Но дело в том, что в контроллерах, как правило, несколько методов, update, delete, index и т.д. В каждом из них делается выборка, либо какого-то конкретного поста, либо всех постов и сортировка, либо просто возврат вьюхи с формой.
      Поэтому если суммировать все строчки кода в контроллере (допустим, статей), то их больше, чем строчек кода в модели Articles. Потому что у статей, по идее никакой особой бизнес-логики, кроме выборки из базы и записи в базу, нету.
      Возможно я пока еще не столкнулся с такими приложениями, где нужны толстые модели.

    • @SergMirny_yt
      @SergMirny_yt 6 лет назад

      Валентин Иванов не правильно. Логика должна быть в моделях, а контроллер только связывает методы и классы моделей между собой. Контроллер должен быть худым. Да, и под контроллером понимается метод конкретный(1 метод - 1 контроллер), а не весь файл контроллера

    • @denistankov2243
      @denistankov2243 6 лет назад

      Валентин тебе сюда elisdn.ru ///а вообще логика выносится в так называемые сервисы приложения а не в модели

  • @marvelnews976
    @marvelnews976 5 лет назад

    Very interesting video!

  • @kostiakazydub4666
    @kostiakazydub4666 6 лет назад +1

    А можете подсказать где прочитать/посмотреть про тесты?

    • @DKADEVELOP
      @DKADEVELOP  6 лет назад

      Хм... первое что приходит на ум это официальная документация, так чтобы был пример сразу и проверенный нет.
      Для начала тесты phpunit и dusk. По сути Dusk позволяет запускать браузерное тестирование с возможностью тестировать даже те страницы которые загружаются через js.

    • @kostiakazydub4666
      @kostiakazydub4666 6 лет назад +1

      А вы не планируете сделать видео по тестированию?

    • @BlackGodMazik
      @BlackGodMazik 6 лет назад

      phpunit.de/ можно здесь почитать про тестирование

  • @sergeysergeev9271
    @sergeysergeev9271 6 лет назад

    В каких случаях использовать Laravel, а в каких забацать на какой то популярной CMS?

    • @DKADEVELOP
      @DKADEVELOP  6 лет назад +3

      По мне писать на laravel проще чем ковырять CMS, так как практически всегда или много лишнего в нем, либо что нужно изменить.
      Если нужно сделать что-то за пять минут, тогда можете использовать CMS.

  • @robertval2083
    @robertval2083 6 лет назад

    Спасибо)

  • @SergMirny_yt
    @SergMirny_yt 6 лет назад

    Мне кажется у Вас у самого есть ошибка. Вы, как и большинство, привязываете модели сугубо к БД. А по мне в модели удобно выносить логику. Таким образом делая "худые" контроллеры(все как завещали разрабы фреймворков). Если не прав - поправьте. И расскажите как вы организовываете логику в пределах проекта.

    • @iamforbs
      @iamforbs 6 лет назад

      На мой скромный взгляд, лучше выносить логику в репозитории, если таковая имеется

  • @КонстантинКуцевалов-ш1р

    Ставим скорость 1.25 и радуемся

  • @ИльяЛяляля-ж6ш
    @ИльяЛяляля-ж6ш 6 лет назад

    6 ошибка - не говорящие названия переменных. Именно ларавель это не любит (ирония). Короче не ясно почему все сказанное в ролике притянули именно к ларавелю. Бред.

  • @alextopsite
    @alextopsite 6 лет назад

    Полезное видео

  • @golibxayrullayev1353
    @golibxayrullayev1353 4 года назад

    Круто

  • @getcoding5362
    @getcoding5362 5 лет назад +1

    А еще обращаться к базам данных в цикле , плохая практика .....

  • @vesh95
    @vesh95 3 года назад

    В смысле один раз в неделю по 6 часов? Это что, мои 40 часов работы нахрен никому не нужны?

  • @anmaner4822
    @anmaner4822 6 лет назад

    Что за IDE? Это Atom?

    • @DKADEVELOP
      @DKADEVELOP  6 лет назад

      В данном видео, да. В основной массе sublime.

  • @marvelnews976
    @marvelnews976 5 лет назад

    Thank you

  • @userScKonov
    @userScKonov 2 года назад

    Мотивация +

  • @GmBaxus
    @GmBaxus 6 лет назад

    Походу кого то бомбануло ))) а самое атеншен это же конечно JS во вьюхе это такой проста ааааа...

  • @alejandroche4991
    @alejandroche4991 2 года назад

    Учиться нужно по 12 часов в день, а не понемногу, иначе толку то

  • @alexgorodecky1661
    @alexgorodecky1661 3 года назад

    И ваши волосы станут гладкими и шелковистыми 😅

  • @vasil-vasil
    @vasil-vasil 5 лет назад

    Оказалось я не начинающий

  • @artyom2man
    @artyom2man 2 года назад

    коротко и совсем ни о чем. Даже не о задекларированной теме. Шпала

  • @nbrains6380
    @nbrains6380 4 года назад

    MVC??? Это устаревшее понятие, Laravel очень далека от него :)