Evgeniy Kuvshinov
Evgeniy Kuvshinov
  • Видео 101
  • Просмотров 337 333
Библиотека для внедрения зависимостей в PHP, cekta/di release v1, psr/container implementation
github.com/cekta/di
наш чат: t.me/dev_ru
канал с важными объявлениями: t.me/kuvshinov_e
00:00 Вступление
01:29 Основные преимущества (кратко)
06:02 Установка
07:03 Классы
13:55 Параметры
18:08 Пример с интерфейсами
19:53 Пример с абстракными классами
22:56 Union type
25:34 Intersection type
26:54 DNF type
30:02 Definition на примере DSN
32:15 Иньекция в методы после создания и все остальное
34:19 Service Locator
35:37 variadic params
38:00 overwrite аргумента
40:09 Компиляция
50:46 FQCN
53:35 Пример показывающий порядок загрузки
56:05 Как autowiring определяет имя зависимости
59:57 Benchmark
01:05:13 Contribute
Просмотров: 651

Видео

PHP, PDO Подготовленные запросы, EXECUTE vs PREPARE Statement
Просмотров 3,2 тыс.2 года назад
Что такое PREPARE и EXECUTE Statement в чем отличия подготовленных запросов, как с этим работать с PHP и PDO 00:00 Вступление 00:24 EXECUTE и PREPARE 00:50 EXECUTE Statement 03:08 PREPARE Statement 07:09 Пример именованные placeholder 07:53 Пример неименованные placeholder 08:28 bindParam и bindValue 12:09 PDO эмулирует подготовленные запросы по умолчанию!!! 14:20 query использует prepare, а не...
PHP, PDO SQL Injection #3
Просмотров 2 тыс.2 года назад
SQL Injection минимум который должен знать каждый разработчик код которого работает в production 00:00 Вступление и оглавление 01:06 Определения (теория) 01:45 Чем опасны SQL Injection 03:34 Практический стенд 06:12 Обхода аутедентификации 09:23 Модификации базы данных 11:47 Защита с помощью placeholder 15:49 Защита там где placeholder не применимы 18:52 Поддержи канал github.com/smpl/youtube/t...
PHP, PDO Основные операции (CRUD) #2
Просмотров 2,5 тыс.2 года назад
Основные операции которые осуществляет обычно разработчик при работе с PDO: 00:00 Вступелние и оглавление 00:54 Вставка данных (INSERT) - регистрация 04:49 Массовая вставка (bulk insert) 10:30 Обновление данных (UPDATE) - смена пароля 11:18 Удаление данных (DELETE) - удаление пользователя 12:39 Выборка данных (SELECT) - вход пользователя 15:07 Выборка нескольких строк 17:33 Что выбрать prepare ...
PHP, PDO Доступ к базе данных #1
Просмотров 8 тыс.2 года назад
Первая часть цикла видео о работе с базой данных с PDO в PHP github.com/smpl/youtube/tree/master/pdo Плейлист: ruclips.net/p/PL7Nh93imVuXw_wvYPFsbb33f_ZiXkyLO3 Документация PDO: www.php.net/manual/ru/book.pdo.php Канал с новостями: t.me/KuvshinovEvgeniy Чат с обсуждениями: t.me/dev_ru Поддержка: new.donatepay.ru/@kuvshinovee
Конфигурационные параметры вашего application
Просмотров 9462 года назад
В этом видео я поделился рекомендациями которым придерживаюсь я сам и которые были проверены в десятках проектов Поддержи канал: new.donatepay.ru/@kuvshinovee Личный канал в телеге: t.me/KuvshinovEvgeniy Чат: t.me/dev_ru Вступление 00:00 Форматы (php, json, yaml, xml, toml, hjson, ...) 00:57 Основные места настройки 01:32 * Параметры по умолчанию 02:02 * Переменные окружения 05:31 Системные Пол...
CORS - Cross Origin Resource Sharing, Совместное использование ресурсов между разными источниками
Просмотров 24 тыс.3 года назад
Мы полностью разберемся в вопросах CORS и вы сможете понимать что же требуется браузеру, рассмотрим реальные примеры. Поддержи канал материально: donatepay.ru/don/kuvshinovee Канал: t.me/KuvshinovEvgeniy Наш чат: t.me/dev_ru Итоговый middleware для Laravel: gist.github.com/smpl/b24db71f6c13c2e8ab054e18bd5400fd 00:00 - Вступление 00:07 - План видео 00:50 - Пример CORS 06:48 - Origin и Access-Con...
PHPMD, статический анализ php mess detector
Просмотров 1,5 тыс.3 года назад
В этом видео речь пойдет о phpmd статическом анализе кода phpmd.org/ pull request: github.com/smpl/example/pull/5 Наш чат: t.me/dev_ru
PSALM, статический анализ PHP проекта
Просмотров 4,5 тыс.3 года назад
PSALM, статический анализ PHP проекта
PHPINSIGHTS, Статический анализ в вашего PHP проекта
Просмотров 1,5 тыс.4 года назад
PHPINSIGHTS, Статический анализ в вашего PHP проекта
PHPSTAN. Статический анализ PHP проекта
Просмотров 4,9 тыс.4 года назад
PHPSTAN. Статический анализ PHP проекта
Laravel idea plugin для phpstorm, розыгрыш ключа.
Просмотров 1,2 тыс.4 года назад
Laravel idea plugin для phpstorm, розыгрыш ключа.
Интеграция travis-ci в ваш php проект
Просмотров 1,9 тыс.4 года назад
Интеграция travis-ci в ваш php проект
Code style вашего проекта
Просмотров 2,6 тыс.4 года назад
Code style вашего проекта
Как можно ускорить выполнение большого числа миграций в dev окружение на примере laravel
Просмотров 5254 года назад
Как можно ускорить выполнение большого числа миграций в dev окружение на примере laravel
PHP, composer, публикация пакета на packagist и github
Просмотров 2,4 тыс.4 года назад
PHP, composer, публикация пакета на packagist и github
PHP, Composer, Советы по созданию пакета, composer.json
Просмотров 7 тыс.4 года назад
PHP, Composer, Советы по созданию пакета, composer.json
MUMBLE, Как пользоваться #1
Просмотров 8 тыс.4 года назад
MUMBLE, Как пользоваться #1
Типичное использование проекта, PHP Framework своими лапками #5
Просмотров 7484 года назад
Типичное использование проекта, PHP Framework своими лапками #5
Автозагрузка классов в PHP
Просмотров 7 тыс.4 года назад
Автозагрузка классов в PHP
Зависимости (Dependence), PHP Framework своими лапками #4
Просмотров 7384 года назад
Зависимости (Dependence), PHP Framework своими лапками #4
HTTP маршрутизация, PHP Framework своими лапками #3
Просмотров 2,4 тыс.4 года назад
HTTP маршрутизация, PHP Framework своими лапками #3
HTTP Application, PHP Framework своими лапками #2
Просмотров 1,3 тыс.4 года назад
HTTP Application, PHP Framework своими лапками #2
Обработка HTTP, PHP Framework своими лапками #1
Просмотров 2,5 тыс.4 года назад
Обработка HTTP, PHP Framework своими лапками #1
PHP, PSR-4: Autoloading Standard (Автозагрузка)
Просмотров 5 тыс.4 года назад
PHP, PSR-4: Autoloading Standard (Автозагрузка)
Docker для самых маленьких
Просмотров 19 тыс.5 лет назад
Docker для самых маленьких
Минимальные знания, Часть 1: hello world
Просмотров 1,9 тыс.5 лет назад
Минимальные знания, Часть 1: hello world
Нас больше 1000 подписчиков
Просмотров 9345 лет назад
Нас больше 1000 подписчиков
PHP, PSR-3: Logger Interface
Просмотров 6 тыс.5 лет назад
PHP, PSR-3: Logger Interface
PHP, PSR 2: Coding Style Guide
Просмотров 4,8 тыс.5 лет назад
PHP, PSR 2: Coding Style Guide

Комментарии

  • @igorolikov1997
    @igorolikov1997 День назад

    четко

  • @theapostal9311
    @theapostal9311 4 дня назад

    Самое лучшее и понятное объяснение очень сложной темы, большое спасибо!

  • @sol-io6zb
    @sol-io6zb 12 дней назад

    Спасибо большое, объяснили просто замечтально!

  • @aspioneerov
    @aspioneerov 25 дней назад

    А я столкнулся вот с таким кодом // Автозагрузка классов function __autoload( $name ) { include_once __DIR__.'/../core/lib/class.'.$name.'.php'; }

    • @aspioneerov
      @aspioneerov 25 дней назад

      Всё думал "почему __autoload ни один скрипт не вызывает, а классы работают?" Ваше видео всё объяснило

    • @kuvshinovee
      @kuvshinovee 23 дня назад

      @@aspioneerov есть документация __autoload была первой попыткой, но была проблема в том что в ней нельзя зарегистрировать несколько функций автозагрузки (а только одну) поэтому предложили ввести новую (которая на видео) а эту функцию сделали deprecated www.php.net/manual/en/function.autoload.php

  • @aspioneerov
    @aspioneerov 25 дней назад

    Спасибо за науку. Расскажите, что за программа?

  • @aspioneerov
    @aspioneerov 25 дней назад

    ёмко. Спасибо.

  • @ant1k-1
    @ant1k-1 Месяц назад

    хорошее видео без воды, спасибо

  • @vivowalk
    @vivowalk Месяц назад

    Экзаменатору зачёт. Кандидат не видит дальше того, что уже встречал. Сам ничего придумать и догадаться не может, даже с мощными подсказками. Вопрос экзаменатору: разве on duplicate key update не делает вставку атомарной операцией? И если да, то нужен ли новый Костыль-велосипед ?

  • @Fragrus
    @Fragrus Месяц назад

    Харош

  • @Sa1ahaddin
    @Sa1ahaddin 2 месяца назад

    Спасибо за видео, очень понравилось, что детально и с примерами ❤ Если еще произношение английских слов подтянете, вообще шикарно будет. А то Валуе вместо вэлью (value) чет режет уши))

  • @upyrable
    @upyrable 2 месяца назад

    Спасибо

  • @phpstudy8625
    @phpstudy8625 3 месяца назад

    Классно !!! Можете осветить тему как вставить в MVC проект PhpMailer нигде нет материала на эту тему

  • @mototovich
    @mototovich 3 месяца назад

    Спасибо, отличное объяснение, самое главное что начали от истоков в виде самостоятельной реализации автозагрузчика, так как везде обычно объясняют так "Вот композер, у него автолоад подключаем и теперь все классы доступны"

  • @user-kx7sk4kj9f
    @user-kx7sk4kj9f 3 месяца назад

    а можно таймкоды?

  • @yashkevich8164
    @yashkevich8164 4 месяца назад

    Типичный PHP разработчик с небольшим опытом) Но по ответам он не мидл, ну может мидл-минус или как то так)) нужно больше проходить собесы тупо для тренировок и будет лучше отвечать. Я хз как он на Голанг разработку попал кстати, там собесы ппц жесткие обычно

  • @grechkaovsyanka1702
    @grechkaovsyanka1702 4 месяца назад

    Спасибо. Очень полезно

  • @grechkaovsyanka1702
    @grechkaovsyanka1702 4 месяца назад

    спасибо тебе большое!

  • @user-nq1zh7bf4e
    @user-nq1zh7bf4e 4 месяца назад

    Непонятно

  • @InsureInvest
    @InsureInvest 5 месяцев назад

    Bhai hindi bhasha me video bana le 😂

  • @ivanatroshchenko5310
    @ivanatroshchenko5310 5 месяцев назад

    какое по итогу решение проблемы одновременной обработки файла двумя джобами (либо двух файлов разными джобами) когда один джоб может записать те данные на предмет существования которых уже успел проверить второй джоб и тогда второй джоб столкнется либо с ошибкой либо запишет уже существующие данные какое решение по итогу?

    • @kuvshinovee
      @kuvshinovee 5 месяцев назад

      можно ссылку на тайминг где мы этот вопрос обсуждаем, не очень помню все видео, а пересматривать полтора часа нет. если коротко для решения этого существуют разные механизмы, например то что можно использовать на малых/средних проектах, это очередь в redis в List, где имеется возможность вставить в конец списка и взять в начале, особенность redis в том что он однопоточный, а значит все действия сервер выполняет последовательно (но очень быстро) пока producer не вставил данные, другие не смогут получить данные и наоборот, но тут есть свои проблемы 1. Риск потерять данные очереди (redis in memory) и периодически синкает на диск, это конфигурируется, уменьшая интервалы мы будем тормозить диск, увеличивая интервалы все будет работать, но есть риск потерять данные при некорректном завершение. 2. Воркер может взять задачу из листа и свалится сам не вернув задача назад в очередь, такая задача просто пропадет или будет выполнена частично можно использовать специализированные решения rabbitmq/kafka или любые другие, все имеют свои плюсы и минусы, в основном очереди базируются на двух моделях pull это например kafka (ну или крайне упрощенный пример redis что привел выше) и push когда брокер сам дергает воркеры это например rabbitmq возможно я ответил не тот вопрос, просто предположил

    • @ivanatroshchenko5310
      @ivanatroshchenko5310 5 месяцев назад

      @@kuvshinovee 1:08:00

    • @EugenePolischuk
      @EugenePolischuk 3 месяца назад

      @@kuvshinovee Здравствуйте! В видео вы говорили что нужно 3 типа запроса делать на отправку файла. 1 на отправку, 2-ой на получение статуса, 3-ий вебсокет. А можно ли совместить 2 и 3-ий запросы в один ведь по сути они одно и то-же делают ?

    • @kuvshinovee
      @kuvshinovee 3 месяца назад

      @@EugenePolischuk да можно просто опрос статуса делают обычно раз в 10 секунд и если не повезет то обработка может завершится, а клиент все еще ждет 10 секунд и только потом узнает об окончание обработки. поэтому для повышения юзабилити делают отдельно оперативное обновление и веб сокет тут как нельзя лучше подходит, раньше использовали технику long poling, сейчас веб сокеты достаточно распространены. как итог: 1. Ручка с получением статуса по uuid - обязательно 2. Уведомление об окончание по обработки по веб сокет - опицонально

  • @kaber6400
    @kaber6400 5 месяцев назад

    Пока лучший собес на просторах ютуба (который я смотрел) )

  • @ElectroDiffuser
    @ElectroDiffuser 7 месяцев назад

    Отлично Евгений, только Вы не предупреждаете вот о чем, что вашим сервером можно воспользоваться либо всего лишь раз или не долго, т.к. при следующей попытке ваш сервер шлет в бан или пишет что сертификат не верный с паролем или т.п. и тд. Так что за гайд спасибо ну а с сервером эт Вы немного обманули что он Free

    • @kuvshinovee
      @kuvshinovee 7 месяцев назад

      На сервере есть возможность зарегистрировать ник и многие их регистрируют Если вы входили под ником vasya и его не зарегистрировали за собой, а потом кто то другой его зарегистрировал, то вы не сможете войти так как не вы его зарегистрировали. Если ник зарегистрировали вы и например попробуете войти с другова устройства не перенеся туда сертификат, то у вас не получится войти, аналогичная вещь будет и после переустановки ОС. Также на сервере есть требование на минимальную длину ника, от 4 символов, эти символы должны быть символами латинского алфавита, другими словами нельзя в нике русские буквы, точки, запятые, кавычки и прочее. Приятного общения на сервере

    • @ElectroDiffuser
      @ElectroDiffuser 7 месяцев назад

      @@kuvshinovee зашел под этим же ником, создал комнату, сменил сертификат, принял, вышел/захожу под новым сертиф, но меня уже не пускают, не понимаю в чем дело, но и ние сменить нет возможности, даже кнопки нет такой. Ставлю опять сертификат по уиолчанию - все тут же работает. Странно.

  • @user-nw3iz4bd1b
    @user-nw3iz4bd1b 8 месяцев назад

    Спасибо, ты открыл мне глаза , на многие нюансы знаю ответы теперь. Лайк за труд

  • @kasa3172
    @kasa3172 8 месяцев назад

    Спасибо за качественный контент! PDO очень хорош тем особенно кто пишет сложные sql скрипты вручную на стороне сервера БД и своим удобством при внедрении в коде. Подскажите пжл, а можно ли полностью использовать его в популярных фреймворках таких как Laravel и отказаться от Eloquent из коробки?

  • @grantorino3465
    @grantorino3465 8 месяцев назад

    Спасибо, видео очень полезное

  • @rinatsarmuldin2280
    @rinatsarmuldin2280 8 месяцев назад

    мего круто!!!!

  • @GreatOsmanSultan
    @GreatOsmanSultan 9 месяцев назад

    Спасибо за суперское обьяснения

  • @devlopman738
    @devlopman738 9 месяцев назад

    В итоге как делать то нужно ? когда есть 2 проекта которые обращаются в микросервис, где хранятся пользователи

    • @kuvshinovee
      @kuvshinovee 9 месяцев назад

      посмотрите как это делают крупные сервисы, большинство поголовно использует oauth например. это довольно старый стрим (свыше 5 лет), но кратко основные тезисы. 1. JWT это не замена сессий и попытка использовать jwt для сессий обречена гемороем. 2. Общение между сервисами можно построить с использованием jwt, но лучше использовать ассемитричные ключ, чтобы один сервис мог генерировать токены, а другие могли только проверять их публичным ключом, не забываем о первом пункте и такое подписанное сообщение должно быть валидно не долго, по сути лучше на основе него создавать пользователя в сервисе. 3. Если у вас помимо ваших сервисов будут еще сторонние сервисы которые будут к вам подключаться, рассмотрите использование oauth например, как сейчас делает большинство крупных компаний (гугл, яндекс и тд)

  • @user-qb7jg4hx5l
    @user-qb7jg4hx5l 9 месяцев назад

    Вот до чего Петю довела вёрстка((

  • @user-qb7jg4hx5l
    @user-qb7jg4hx5l 10 месяцев назад

    большое спасрбо

  • @user-ou7bp4ze8t
    @user-ou7bp4ze8t 10 месяцев назад

    За вчера и за сегодня пересмотрел тонну видосов на эту тему. Только этот помог по настоящему разобраться в теме и решить проблему. Сегодня я нашел ответы на те вопросы, которые даже не знал как гуглить. Константин, если читаете, огромное вам спасибо. Ни в коем случае не забрасывайте канал.

    • @user-zb9qy9yc4b
      @user-zb9qy9yc4b 7 месяцев назад

      он же вроде Евгений "валуе" Кувшинов😁

  • @r.chitector
    @r.chitector 10 месяцев назад

    Где можно пройти подобное собеседование у спеца (можно платно)? По-моему это отличный способ понять свои скилы!

    • @AleksandrChernovIT
      @AleksandrChernovIT 10 месяцев назад

      у меня на канале есть пример, можете написать (собес был на +/- мидл)

  • @user-uy7zp7jk6k
    @user-uy7zp7jk6k 10 месяцев назад

    Спасибо большое! Пересмотрю ещё ни раз, но и с первого раза сложилось понимание, как это работает и для чего нужно. Отдельное спасибо за нюансы, которые вы проговариваете, это очень ценная информация!

  • @nalfeynsh
    @nalfeynsh 10 месяцев назад

    Поверхнастная и очевидная инфа по мУмбл(

  • @DREY-D
    @DREY-D 11 месяцев назад

    Здравствуйте. А где посмотреть информацию чтобы подключиться с телефона с андроид

    • @kuvshinovee
      @kuvshinovee 11 месяцев назад

      на оффицальном сайте www.mumble.info/downloads/ есть рекомендация использовать mumla play.google.com/store/apps/details?id=se.lublin.mumla раньше был клиент plumbe устанавливается клиент, указывается сервер, выбирается комната и в путь, я иногда с женой так по супер маркету хожу постоянно на звонке быть неудобно, набирать каждый раз занимает время, плюс надо взять трубку а запустить клиент и идти по разным отделам, надо что то сказать нажимаем на кнопку микрофона и говорим, удобно! еще раньше использовал в играх и просто в удаленном общение.

    • @DREY-D
      @DREY-D 11 месяцев назад

      @@kuvshinovee как сделать чтобы при включении компьютера автоматически подключался в канал

    • @kuvshinovee
      @kuvshinovee 11 месяцев назад

      @@DREY-D в настройках desktop клиента есть раздел сеть и там галочки, переподключаться автоматически, подключаться к последнему серверу при запуске. останется программу лишь добавить в автозагрузку

    • @DREY-D
      @DREY-D 11 месяцев назад

      К серверу подключается автоматически, но там же каналы разные. Можно как-то в конкретный канал?

    • @kuvshinovee
      @kuvshinovee 11 месяцев назад

      @@DREY-D меня подключает автоматически на тот сервер и тот канал где я был перед выходом из программы, каждый раз при запуске главное перед выходом из программы не отключатся от сервера вручную

  • @alexdreamer11
    @alexdreamer11 11 месяцев назад

    Все испортил докер. Если бы рассказал без него было бы супер. Видео вроде для начинающих, но чтобы его понять нужно сначала разбираться с докером😢

    • @kuvshinovee
      @kuvshinovee 11 месяцев назад

      смысл в том чтобы была возможность повторить то что на видео и не делать в видео если у вас windows установите вот так вот php, вот отсюда скачайте extension, вот так запустите бд mysql, pgsql и тд а если у вас не 11 винда то сделайте вот так. если у вас macos на m1 то вот так вот установите php вот тут возьмите extension и тд а если macos не на m1 то вот этот бинарник и тд а если у вас linux, для debian based вот так установить, вот тут конфиги и настройки и тд для rpm вот так сделайте и тут лежат настройки для arch вот так и тд видео бы растянулось на несколько часов только по настройке и всегда нашелся бы чувак на windows xp 32bit который сказал ой не могу повторить.

    • @alexdreamer11
      @alexdreamer11 11 месяцев назад

      @@kuvshinovee Ну тогда нужно было начать с докера, чтобы было понятно для всех

    • @kuvshinovee
      @kuvshinovee 11 месяцев назад

      @@alexdreamer11 а до докера мне надо объяснять что такое cli и как с этим работать ? как работать с git чтобы клонировать ? потом объяснять как работать с ОС ? как работать с компьютером ? и так далее ? есть какие то базовые знания, если у кого то их нет, ничего страшного может быть когда нибудь потом они у них появятся, это нормально не знать все, но это повод хотя бы сделать git clone и сделать docker-compose up -d чтобы поднять окружение, предварительно установив git, docker в свою ОС. Главный плюс этого в том чтобы пользоваться git, docker не обязательно ими владеть, можно их установить по оффицальным инструкциям инструкция есть ко многим ОС и с помощью нескольких команд все повторить. Такой подход проще чем идти путем показывая объяснения как поднять окружение в ОС, потому что всегда придет кто то с другой ОС и скажет все испортила инструкция к %название_ОС% у меня ничего не работает.

    • @alexdreamer11
      @alexdreamer11 11 месяцев назад

      @@kuvshinovee 👍 Послал так послал. Все понятно

  • @dmitriykret8938
    @dmitriykret8938 11 месяцев назад

    👍👍👍

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

    спасибо) отличное видео, хотелось бы ещё вашего контента!

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

    То что искал! Спасибо большое!

  • @user-to4cs6ji3w
    @user-to4cs6ji3w Год назад

    Спасибо! Было полезно

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

    Грааль

  • @user-yq1xh6qv8m
    @user-yq1xh6qv8m Год назад

    Спасибо! Лайк, подписка

  • @user-yq1xh6qv8m
    @user-yq1xh6qv8m Год назад

    Спасибо за материал!

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

    из видео я понял, что вместо require('vendor\packetName\className.php'); require('vendor\packetName2\className2.php'); require('vendor2\packetName3\className3.php'); стало use vendor\packetName\className; use vendor\packetName2\className2; use vendor2\packetName3\className3; т.е. как происходило "прописывание" 100500 require-нгов, так и происходит

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

      вынужден с вами не согласится по нескольким причинам. во первых use используется не для автозагрузки, а как вспомогательная вещь чтобы при использование в коде Client, интепретатор и разработчик понимал какой имеено Client вы используете ? для работы по http ? или для работы с redis ? или mysql client ? Вы вполне можете использовать полный синтаксис в своем коде: new Vendor\Package\Class() но для простоты используют use Vendor\Package\Class и в коде new Class() Основная причина появления namespace в том чтобы если один из вендоров занял имя класса (например Client) то другой вендор не может его использовать и раньше до появления namespace имена классов включали в себя имя вендора Vendor_Package_Class и такую партянку приходилось указывать везде, а появления namespace позволило раскладывать классы по пакетам и использовать краткие имена, где use это лишь синтаксический сахар. Другая причина в том что она не будет подгружать класс если он уже был ранее подгружен: if (!class_exists(Vendor\Package\Class::class)) { require '...'; } Это просто для примера. Вывод очень простой require и use используются для разных целей У use есть еще и другие применения, в них вы указываете сторонние(из других namespace) зависимости в одном месте, а не их надо лазить искать по всему файлу, следуя этой логике большое количество сторонних зависимостей сигнал к тому что этот код зависит от очень много и возможно что то делается не так.

  • @user-kh5xj7vt5p
    @user-kh5xj7vt5p Год назад

    Благодарю! Очень полезно!👍👍👍

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

    Евгений, спасибо большое! Это самый наглядный материал по этой теме который я только встречал

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

    С английским, конечно, у тебя бедулька.. а так вроде много что по делу...

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

    Интересно спасибо!!!

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

    Большое спасибо. Помог очень

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

    Отлично! Спасибо