Автозагрузка классов в PHP

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ส.ค. 2024
  • В этом видео будет подробно рассказано о загрузке и автозагрузке классов, с подробными примерами.
    PSR-4: • PHP, PSR-4: Autoloadin...
    PSR-0: • PHP, PSR-0: Autoloadin...
    composer: getcomposer.org/
    Наш чат: t.me/dev_ru

ความคิดเห็น • 35

  • @mototovich
    @mototovich 5 หลายเดือนก่อน +1

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

  • @alexandersmidt9984
    @alexandersmidt9984 2 ปีที่แล้ว +2

    Спасибо!
    все по полочкам, с 0 до 1 :)

  • @user-wz9vl9li7q
    @user-wz9vl9li7q 3 ปีที่แล้ว +1

    Спасибо, Евгений! Ты молодец!!!

  • @romanenkoonline
    @romanenkoonline 2 ปีที่แล้ว

    Добавил в закладки. Звук громкий, хороший. Всё понятно. Молодец.

  • @yryskaamanturov500
    @yryskaamanturov500 2 ปีที่แล้ว +1

    Спасибо за урок! Было полезно:)

  • @user-kh5xj7vt5p
    @user-kh5xj7vt5p ปีที่แล้ว

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

  • @user-hc6bc1ii8u
    @user-hc6bc1ii8u 4 ปีที่แล้ว

    Спасибо тебе Добрый Человек !

  • @user-ms5pc2vj8u
    @user-ms5pc2vj8u 3 ปีที่แล้ว

    Спасибо довольно подробно все описали!

  • @estupidoParapente
    @estupidoParapente 3 ปีที่แล้ว

    Круть, без воды!

  • @user-to4cs6ji3w
    @user-to4cs6ji3w ปีที่แล้ว

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

  • @johnwick8332
    @johnwick8332 2 ปีที่แล้ว

    спасибо за видео и успехов каналу!

  • @aspionerov
    @aspionerov 2 หลายเดือนก่อน

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

  • @mugen31337
    @mugen31337 4 ปีที่แล้ว +2

    Надо было в composer.json добавить ещё один источник для обработки, с алиасом, это доло бы новичкам более раскрытое понимание работы композера и в чем его преймущество.

    • @kuvshinovee
      @kuvshinovee  4 ปีที่แล้ว +2

      тут видео не совсем про composer, поэтому я не стал сильно на нем останавливаться, просто указал что сейчас большинство в php использует его для загрузки классов, а пакетный менеджмент я думаю это отдельная тема, или видео пришлось бы сильно растянуть.

  • @taras-melmut
    @taras-melmut 3 ปีที่แล้ว

    Спасибо.

  • @lokidismas7442
    @lokidismas7442 2 ปีที่แล้ว

    Thanks.

  • @pavelnemchenko8570
    @pavelnemchenko8570 3 ปีที่แล้ว

    Спасибо

  • @user-po3id7ee7n
    @user-po3id7ee7n 4 ปีที่แล้ว +1

    Учу пхп, пытаюсь все готовые решения разбирать по винтикам. Но пока мозгов не хватает разобрать то, что люди делали годами. Для себя я написал служебный класс, который сканит все директории проекта и создает карту классов и контроллеров в виде "рабочее название" - > "путь до файла". Потом автозагрузчик подключает эту карту в виде массива. Но это с учетом того, что я работаю без неймспейсов и сторонних библиотек (и не планирую для своих проектов). В каком-то плане я избавляю себя от необходимости прописывать Use в классах которые работают с классами.

    • @kuvshinovee
      @kuvshinovee  4 ปีที่แล้ว +2

      прописывать use в файлах не проблема любой текстовый редактор это делает автоматически, а вот к каким весельям может привести без namespace это отдельный разговор, но тебе решать.
      Сканировать директории на файлы и подключать их вместе известный прием, только сканировать на проде каждый раз одни и теже папки с одним и тем же результатом, странное действие. Не стоит также забывать просканировать папки при добавление нового класса, а это одна из тех проблем что хотелось бы решить.
      Также как и работать с использованием пакетного менеджера или без, я согласен что некоторые пакеты не очень качества, но переписывать все слишком затратно, но опять же тебе решать.
      Я стараюсь подписчикам показывать хорошие способы чтобы была возможность легко реюзать хороший код и решать проблемы проекта.

    • @user-po3id7ee7n
      @user-po3id7ee7n 4 ปีที่แล้ว

      @@kuvshinovee Я учусь методом проб и ошибок) Открыл исходник композера, депрессовал 3 дня что не понимаю что там творится, написал свой вариант) Если я что-то не понимаю в коде, я это не использую это пока не пойму. Вариант с неймспейсами я отбросил но лишь по той причине, что не въехал как это работает. Но с этого видео понял, что мне нужно было слэши поменять чтобы всё заработало. У меня тогда вопрос по скорости работы автолоудера композера. Есть ли смысл городить что-то своё, или аутолоудер композера и так оптимальный по скорости, т.е. в нем нет ничего лишнего?

    • @dizelvinable
      @dizelvinable 4 ปีที่แล้ว

      @@user-po3id7ee7n Прочитай книгу Зандстры про ООП в PHP

    • @user-po3id7ee7n
      @user-po3id7ee7n 4 ปีที่แล้ว +1

      @@dizelvinable я сейчас читаю чистый код и чистую архитектуру дядюшки Боба. Мне очень зашло.

    • @user-ms5pc2vj8u
      @user-ms5pc2vj8u 3 ปีที่แล้ว

      Мне кажется вы написали велосипед. Решение с композером на мой взгляд вам больше подходит, так как композер не только занимается подключением ваших файлов к проекту но и также удобным внедрением уже готовых написанных пакетов для проекта из Open Source

  • @user-nn6mb9tv1b
    @user-nn6mb9tv1b 2 ปีที่แล้ว

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

  • @user-nn6mb9tv1b
    @user-nn6mb9tv1b 2 ปีที่แล้ว

    спасибо конечно за видос но нифига не работает (пытался повторить в vs code) видимо шторм у Вас что то доколдовывает

  • @user-hl2et2qf2f
    @user-hl2et2qf2f 2 ปีที่แล้ว

    слишком медленно друг, нужно быстрее говорить, потому, что через слово, но всё же что-то ещё можно понять))

  • @user-du6ns4ww6o
    @user-du6ns4ww6o 4 ปีที่แล้ว

    Сложно, спасибо.

  • @aspionerov
    @aspionerov 2 หลายเดือนก่อน

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

    • @aspionerov
      @aspionerov 2 หลายเดือนก่อน

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

    • @kuvshinovee
      @kuvshinovee  2 หลายเดือนก่อน

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