Тёмный

Внедрение зависимостей НА ПАЛЬЦАХ! 

Marlin
Подписаться 41 тыс.
Просмотров 30 тыс.
50% 1

Telegram-канал: t.me/rahim_mur...
Instagram: / rahim.muratov
Сайт: marlindev.ru
Видеоролик о том, что такое Внедрение зависимостей(Dependency Injection)

Опубликовано:

 

29 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 93   
@ToBeCloser007
@ToBeCloser007 6 лет назад
Привет. Объяснил самым доступным способом как мог. Надеюсь что будет полезно.
@Belyaev7
@Belyaev7 6 лет назад
Все понятно, четко и без воды. Спасибо!
@ВасяБот-е8и
@ВасяБот-е8и 5 лет назад
Спасибо за пояснения. Напридумывают с*ки словей. Всю жизнь передавал одни объекты классов в другие объекты, точно так же как переменные и безымянные функции, но не знал что это оно и есть.
@DrZlad
@DrZlad 4 года назад
Вася Бот и не говори)))
@singlebw4065
@singlebw4065 4 года назад
Чуваки создание экземпляра класса это инстанцирование, а создание переменной инициализация. Что плохого если в одном классе сделать подключение и запросы? class Request{ private static function dbConnect(){ $db = new PDO("mysql:host=localhost;dbname=test_bd;","root",""); return $db; } public static function requestTable($table, $where="id > 0"){ $data = self::dbConnect()->prepare("SELECT * FROM $table WHERE $where"); $data ->execute(); $result = $data->fetchAll(PDO::FETCH_ASSOC); return $result; } } $objRequest = new Request(); $user = $objRequest->requestTable("user","id > 0");
@konstantin7795
@konstantin7795 6 лет назад
Хорошее видео
@oleslav07
@oleslav07 4 года назад
лайк, подписка, колокольчик.
@eugenesidelnyk4600
@eugenesidelnyk4600 4 года назад
8:21 как ты их поменял?
@qAntBcn
@qAntBcn 4 года назад
Это phpdtorm фишка, она так же помогает если ,asaksasm меняешь на h2 только вначале меняешь он в конце сам дописывает, тут так же с ковычкой, он еще и внутри ковычек автоматом экранирует слеши и прочее
@eugenesidelnyk4600
@eugenesidelnyk4600 4 года назад
@@qAntBcn как это включить в настройках?
@ДаниилКедров
@ДаниилКедров 4 года назад
Просто лучший!)) Наконец-то я осознал всю суть зависимостей) И ещё я заметил, что когда осознаёшь суть, то учить легче становится из-за понимания того, зачем ты это всё делаешь. Спасибо за видео!
@UIRETU
@UIRETU 6 лет назад
Первоклассное объяснение без слов лайк
@Ivanchela
@Ivanchela 4 года назад
Спасибо, брат. Действительно очень полезная информация))
@Skalebro
@Skalebro 6 лет назад
Теперь ждем другие патерны IoC, Registry и чем же плох ServiceLocator? Я так понимаю, что это сборник зависимостей, в который ты можешь инжектить нужное.
@glebtrubeev6506
@glebtrubeev6506 5 лет назад
Чувак,ты просто лучший,никто кроме тебя не рассказал эту тему лучше для меня.Лайк,подписка
@DmytroMaslakov
@DmytroMaslakov 2 года назад
Отличный урок. Спасибо!
@Miha-wm8ms
@Miha-wm8ms 2 года назад
а ты хорош
@matveyd7272
@matveyd7272 2 года назад
Супер. Я пишу на js, но объяснение такое, что всё понятно + хорошие примеры.
@vesh95
@vesh95 2 года назад
Надо было пример привести с наркоманом и шприцом. Получилось бы в тему 😃
@AntonReut
@AntonReut 4 года назад
Если мы хотим использовать РАЗНЫЕ базы и хранилища то тут еще надо общий интерфейс прикручивать, тогда можно и в базу и в файл и куда угодно сохранять.
@forward8229
@forward8229 Год назад
Одно из самых лучших описаний DI, которое я видел на просторах ютуба. Отличное качество видео, хороший и понятный пример, хороший поставленный голос. В общем супер
@MutalipUsmanov
@MutalipUsmanov 3 года назад
не вижу di передача объекта в качестве параметра? Это di????????????
@m1niak
@m1niak 6 лет назад
Боже, это же превосходно! Нереально понятно и круто!
@ToBeCloser007
@ToBeCloser007 6 лет назад
Андрей, рад что мои видео помогли понять! Крутяк)
@MaksimBelokurov
@MaksimBelokurov 2 года назад
Красивая тема для ide как называется?
@pavelivanov523
@pavelivanov523 6 лет назад
Спасибо, каждый урок полезен и понятен.
@xx-ic3xi
@xx-ic3xi 6 лет назад
Слишком редко выпускаете. Каждый день выпускайте пжл:)
@laboptyka3706
@laboptyka3706 2 года назад
Рахим Сасибо, ты самый лучший!!!
@MaksimBelokurov
@MaksimBelokurov 2 года назад
Спасибо, все стало понятно!
@Виталий96-к4я
@Виталий96-к4я 3 года назад
💣
@ИванКонкин-с4м
@ИванКонкин-с4м 2 года назад
Лайк и подписка за такой контент.
@БогданЛевицький-ю8щ
Можно было здесь же объяснить о singleton, пример с бд был бы идеальным) Вообще было бы круто увидеть уроки по алгоритмам, а то в моей практике видел людей которые не могут древовидный массив построить. Продолжай в том же духе)
@savvakirichenko8419
@savvakirichenko8419 3 года назад
Топ!
@mrgreizd6730
@mrgreizd6730 6 лет назад
все четко и понятно! продолжай в томже духе, благодаря тебе будет меньше "щиткода" !
@yahyo5452
@yahyo5452 2 года назад
спс
@eloquent2200
@eloquent2200 3 года назад
Спасибо!
@KonstantinPrydnikov1
@KonstantinPrydnikov1 6 лет назад
Музон хорош на заднем фоне, такой объемистый как из долины лилово-алых парусов, погребенных под темными водами у берегов далекой экзопланеты в созвездии Гончих псов. Поэтому его еще чутка надо притушить на 20%, чтобы не врывался в мозг в ответственный момент понимания php dependency injection, но без фанатизма, а то шарма не будет. имхо. Спасибо за уроки - очень качественное оформление и подача
@ToBeCloser007
@ToBeCloser007 6 лет назад
Константин Прудников 😂 хорошо
@ИГОРЬЗено
@ИГОРЬЗено 6 лет назад
Молодец! Спасибо за видео.
@singlebw4065
@singlebw4065 4 года назад
Получается что методы со словом static никакого отношения не имеют к экземплярам класса. В классе описываются как методы для будущего экземпляра так и просто методы класса которые делают свою абракадабру при обращении к ним и у класса свой контекс self, а у экземпляра объекта свой this. Я вроде как так понял?
@alexanderberman9629
@alexanderberman9629 4 года назад
Типизация в конструкторе обязательна, так как абстракцией над поведением мы скрыли реализацию. Код знает только интерфейс, этого достаточно. Хороший пример это GoF паттерн мост (bridge), в свое время (лет 8 назад), лично для меня, он хорошо зашел при реализации приема платежей с разных платежных систем для одного магазина, он и по сей день существует и все работает.
@petruconiuc4618
@petruconiuc4618 3 года назад
Когда используешь dependency injection но не знаешь что такое dependency injection ;) Спасибо за разьеснение
@ДмитрийРоманов-е1з
А почему не сделать в конструкторе билдера Connection::make?
@typepeak
@typepeak 6 лет назад
Привет Рахим! Объяснил - хорошо, не по psr - плохо. Из-за этого php - никто не любит. Каждый пишет как ему удобно. У тебя много подписчиков - на тебе ответственность, приучай их правильно писать. Пожалуйста!
@alexeyimashev7837
@alexeyimashev7837 6 лет назад
Отличное видио! Хотелось бы видио про "паттерны проектирования php и когда их нужно использовать, а когда не стоит". Cам используешь паттерны проектирования?
@NikitaNikita-z1w
@NikitaNikita-z1w 6 лет назад
Лучшее обьснение! Спасибо!
@olegborodko1801
@olegborodko1801 5 лет назад
Респект уже за то что нет собачек и кошечек. Еще 'нравятся' примеры с пицей и другой херней. Никак через такое не въезжаю. Спасибо. просто и понятно
@alexeykovernik6024
@alexeykovernik6024 4 года назад
Спасибо за видео. Что за тема стоит на PHPStorm? Постоянно ей пользуешься или только для видео?)
@kalobyte
@kalobyte 5 лет назад
а я все откладывал эту тему, думал что-то сложное за такими заумными словами скрыты очевидные вещи, которые ты и так уже знал, только не знал страшных слов-названий а тут в названии ролика я не увидел страшных слов и решил просто посмотреть, а в середине ролика оно внезапно и вылезло ну я решил уже дальше досмотреть и оказалось, что ничего страшного нет
@cristianghirba6563
@cristianghirba6563 4 года назад
++++ Best explanation ever!!!
@nikitaosmakovskiy7818
@nikitaosmakovskiy7818 5 лет назад
Хорошее и полезное видео) Очень хорошо объяснят что такое зависимости в целом) Есть один вопрос: Правильно ли будет, в данном примере, использовать абстрактный класс "Connection"?
@ilyasulimenko
@ilyasulimenko 3 года назад
Отличный урок. Все понятно, а главное - самым простым языком
@eugene8863
@eugene8863 6 лет назад
Не знал php, но ты объясняешь нереально доходчиво и я разобрался. Спасибо братан
@mirasnurmukhanbetov1599
@mirasnurmukhanbetov1599 5 лет назад
Даже первый принцип solid объяснил) классное видео )
@БогданЛевицький-ю8щ
Divide et impera.
@myprojects2749
@myprojects2749 6 лет назад
Спасибо за новые рекомендации.
@theOneUser
@theOneUser 5 лет назад
Привет. Спасибо, все понятно объяснил!!
@максимевстюхин
@максимевстюхин 4 года назад
Реально лучшее объяснение из всех.
@romanliapkin5174
@romanliapkin5174 5 лет назад
Вай, на примере работы с базой очень хорошо зашло.
@ДмитрийКосых-л3х
Спасибо за видео. Действительно очень познавательно!
@КонстантинКренский
Спасибо! Всё очень понятно!
@delifeful
@delifeful 4 года назад
привет, подскажи пожалуйста как ты так красиво выводишь var_dump он же не поддерживает такую красоту на выходе?
@ToBeCloser007
@ToBeCloser007 4 года назад
Привет! Есть видео на канале про var_dump. Там все рассказал)
@baqdaulet5929
@baqdaulet5929 6 лет назад
Вот это педантизм, все супер !!!
@TheOlius
@TheOlius 3 года назад
Внедрение SQL инъекции)))) $db->select('users; drop table users;')
@vprod600
@vprod600 3 года назад
так-то да, но в данном случае нет. потому что параметр для метода select мы пишем сами, а не принимаем его от фронта. так что в данном примере в принципе все ок
@Финансоваяграмотность-простоиб
Я вот понял что классы используются как шаблоны (грубо говоря). Все вроде понятно, но вот сам код, где создаются объекты и работа с ними как должен быть написан? Вот нужно нам сделать регистрацию - там один сценарий будет (одни объекты создаются и работа с ними) Нужно сделать авторизацию - другие Мы должны для каждого действия создавать новый файл и на него ссылаться при переходе (нажимаем на авторизацию и нас перебрасывает на файл authorization.php, где используются нужные нам объекты)???? Я вот не понимаю... Мне сказали реализовать проект на ООП без паттернов. В случае с MVC, там просто через маршрутизатор мы обращаемся к нужным методам контроллера. А как без паттерна это реализовать я не понимаю :(
@ToBeCloser007
@ToBeCloser007 5 лет назад
Создайте объект Пользователь у которого есть метод Регистрации. Такой подход будет работать без MVC
@Финансоваяграмотность-простоиб
@@ToBeCloser007 мы на ссайте ссылаемся на определенный файлик со сценарием, в которых используются классы. Вот нужно мне на странице отобразить все статьи. Я ссылаюсь на файлик showPosts.php, в нем используется класс posts, к примеру...
@АндрейИльин-д6ж
@АндрейИльин-д6ж 4 года назад
а сервис контейнер что?
@ivanaaa6049
@ivanaaa6049 5 лет назад
Рассказал так, что Dependency injection- это только разбиение на классы по функционалу и ничего про проблемы зависимосей в коде. Лучше это не смотреть: вы все неправильно поймете.
@alexanderberman9629
@alexanderberman9629 4 года назад
Ну почему, частный случай DI. Абстракцией закрыли реализацию. А если там не PDO, а к примеру Connector с LazyLoad, вполне норм. Сам DI для чего был придуман?
@alexanderberman9629
@alexanderberman9629 2 года назад
@@faizulla5838 Согласен.
@elax3r
@elax3r 6 лет назад
Класс. Теперь расскажи про DIC
@fusome
@fusome 4 года назад
Спасибо Вам огромное!
@dmitriyshevchenko8188
@dmitriyshevchenko8188 6 лет назад
отличная работа Марлин, спасибо за данное видео
@justkrybik
@justkrybik 5 лет назад
Я понимаю что видео не о том... Но root ... Ужасный пример подаете.
@ToBeCloser007
@ToBeCloser007 5 лет назад
Почему ужасный?
@ivanaktau
@ivanaktau 6 лет назад
Спасибо! Вопрос - Обязательно ли внедрять зависимости через конструктор?
@ToBeCloser007
@ToBeCloser007 6 лет назад
Ivan Makhambetov если определенный метод зависит от другого компонента, то можно использовать инъекцию метода. А если весь класс то через конструктор
@rasel757
@rasel757 6 лет назад
Норм молодец !
@buridansass916
@buridansass916 6 лет назад
Ты бог
@НиколайСоколов-р3в
Очень доступно и понятно объяснено. Ждем с нетерпением следующего урока.
@ToBeCloser007
@ToBeCloser007 6 лет назад
Спасибо. Хорошо. Все ролики будут выходить теперь на сайте. Поэтому подпишитесь чтобы не пропустить
@rootwood2737
@rootwood2737 5 лет назад
Да, все круто... Но, а разве обязательно писать statement в ...$db->query(statement:’SELECT...??
@rootwood2737
@rootwood2737 5 лет назад
или это побочный эффект от пхп шторма??
@alexd2133
@alexd2133 5 лет назад
@@rootwood2737 Сам спросил... сам ответил... =)
@Skalebro
@Skalebro 6 лет назад
Все гуд, спасибо )
@ivashchuk
@ivashchuk 6 лет назад
Что за плагин для браузера подсвечивает var_dump ?
@ToBeCloser007
@ToBeCloser007 6 лет назад
Hardc0re xdebug
@СергейЧеремош
@СергейЧеремош 6 лет назад
Вы спрашиваете об этом? xdebug.org/docs/all_settings
Далее
Dependency Injection простыми словами
18:17
ТАРАКАН
00:38
Просмотров 855 тыс.
🦊🎀
00:16
Просмотров 235 тыс.
LaraКурс #7. Service Container
19:36
Просмотров 590
DI & IoC #1: Теория
25:43
Просмотров 30 тыс.
Dependency Injection
15:31
Просмотров 15 тыс.
№103: Dependency Injection в JavaScript
26:01
Просмотров 15 тыс.
ТАРАКАН
00:38
Просмотров 855 тыс.