PSR-7 фреймворк 1/7: Структура и работа с HTTP

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2024

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

  • @JohnDoe-bv4tj
    @JohnDoe-bv4tj 7 лет назад +49

    Дмитрий, делаете очень хорошое дело! Много кто может ругать среднестатистичего PHP-разработчика, но мало кто пытается бороться с малограмотностью и делиться своими знаниями. Мне нравится подход к обучению - от проблемы к решению, с подробным объяснением преимуществ. Это редко где сейчас встретишь.
    С наступающим!

  • @bakayyank8568
    @bakayyank8568 7 лет назад +31

    Спасибо за ваши труды , С наступающим вас Дмитрий

  • @enovoselovcom
    @enovoselovcom 7 лет назад +7

    Очень правильное видео! Спасибо, что занимаешься просветлением умов! :)

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

    Огромнейшая благодарность Дмитрию! Все очень грамотно расписано и рассказано что да почему!

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

    Спасибо Дмитрий, побольше бы таких уроков! Очень нравится, как вы постепенно рефакторингом приходите к лучшей реализации.

    • @ElisDN
      @ElisDN  4 года назад +2

      Свежие записываю на deworker.pro

    • @diatm1506
      @diatm1506 4 года назад +3

      @@ElisDN рад что такие профессиональные разработчики, делятся своими знаниями накопленные годами!

  • @data-center-project
    @data-center-project 6 лет назад +3

    Просмотрел урок час - объяснения супер! Издалека, по нарастающей, для новичков "самое то"!!! Спасибо и Лайк!!!
    Смотрю дальше...

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

    Дмитрий, спасибо! Замечательный скринкаст

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

    Дмитрий! Это нереально круто! Правда, чтобы понимать все о чем идет речь, я решил добить и CS50 и еще пару курсов. И теперь я чувствую, что нашел, то что долго искал. Спасибо огромное!

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

    Очень хорошо и подробно объясняете, не забрасывайте!

  • @FuriousDin
    @FuriousDin 7 лет назад +2

    как хорошо что стоит колокольчик, сегодня знаю что буду вечером смотреть :) . Спасибо за труды.

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

    Спасибо за урок! С удовольствием посмотрел :) Вы хорошо объясняете.

  • @ivan_lebedev
    @ivan_lebedev 7 лет назад +28

    2 часа и это только 1/7. Охиреть. Погнали...

    • @codingfox
      @codingfox 7 лет назад +6

      его можно слушать на скорости 1.5, говорит не очень быстро

    • @webdisein
      @webdisein 7 лет назад +5

      я смотрю на скорости 2.0, в сложных местах снижаю скорость :)

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

    Dars sifati a'lo darajada rahmat

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

    Довольно интересно. Дмитрий, спасибо! Не уснул и хочется смотреть дальше.

  • @lapa-alisa
    @lapa-alisa 7 лет назад +4

    Спасибо огромное!
    Хочу еще)

  • @webdisein
    @webdisein 7 лет назад +3

    Очередное отличное видео от Дмитрия Елисеева. Спасибо!

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

    Ваши видео стали качественнее

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

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

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

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

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

      Максим Курчинский, В исходниках можно делать git checkout или прямо на GitHub смотреть код через Browse Files у каждого коммита.

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

      @@ElisDN спасибо, что-то не сообразил)

  • @14types
    @14types 5 лет назад

    Круто. Мне было оч. полезно. 3 года PHP-шу без классов, фреймворков и пр гитов. Ну у меня просто задачи простые и мне этого не надо, как мне кажется. А тут в видео как раз разжевано, для чего все это надо и как это используется. То есть тут показан плавный переход от простого к сложному, а не просто берём композер, подключаем бибилотеку и тд и выводим hello world.

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

    Спасибо за видео. Продолжайте выпускать подобные видео

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

    Дмитрий, у вас в названии плейлиста опечатка. Вместо PSR - PRS. Видео очень интересные. Благодарю вас за труд.

  • @Михаил-я6ф9д
    @Михаил-я6ф9д 7 лет назад +1

    Это очень круто! Спасибо.

  • @parik899
    @parik899 7 лет назад

    Сильно Дмитрий, спасибо !

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

    спасибо вам большое за ваши видео :)

  • @bobpps
    @bobpps 7 лет назад

    Большое спасибо! Как всегда все класс!

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

    Дмитрий спасибо за ваши труды. Восторженные отзывы подписчиков многое говорят.
    У меня несколько вопросов. Что я должен знать о PSR-7? Что это такое? Просто я знаю о psr-0/1/2/3/4 как о стандартах

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

    Более толкового php контента, чем делает автор не видел. Напишите, может есть ещё толковые авторы ? Курсы статьи вебинары всё на 5+ у Дмитрия. Жду курс по Symfony/laravel. Кстати после yii2 выбираю: повестись на популярный lara, или скрепя зубами грызть правильный, но менее популярный у нас symfony? Как посоветуете, Дмитрий?

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

      Можно изучать оба одновременно.

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

      Дмитрий Елисеев, Джуном месяц как устроился, времени не особо много.

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

      Учи Symfony, Ларка по середине по сложности, грубо говоря автоматом зайдет... я распаковал Symfony 4

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

    SapiEmitter теперь deprecated. Документация советует использовать httphandlerrunner:
    docs.zendframework.com/zend-diactoros/v1/emitting-responses/

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

    Дмитрий, предлагаю Вам сделать мастер-класс по Magento. Это и плюс большое сообщество и просто вызов Вам как профессионалу!

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

    Спасибище!

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

    Дмитрий Елисеев, можете сделать серию уроков по фреймворку Phalcon?

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

      Сейчас записываю на deworker.pro/edu/series/interactive-site по Slim. А есть ли сейчас смысл в Phalcon?

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

      @@ElisDN он же самый быстрый,фреймворк с открытым исходным кодом, написанный на Си. В данный момент поддерживается версия переписанная на Zephir. Основывается на идеях MVC. было бы интересно... У вас хорошо получается, объясняете как положено, понятно , даже прогерам с других языков...

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

      @@sevgenberg585 У PHP 7 скорость удвоилась. В PHP 8 уже будет JIT-компиляция. Так что преимущества в скорости у Phalcon будет всё меньше. А монолитность проекта и неудобство разработки, отладки и доработки без PHP-исходников многих программистов небезосновательно пугает. Так что фреймворк этим весьма экзотический.

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

      @@ElisDN Да, немного экзотический, поэтому вдвойне хотелось бы увидеть сборку хороших видеоуроков, от такого метра как вы...

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

      @@sevgenberg585 Имею в виду что уроки по нему будут мало кому полезны.

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

    @Дмитрий Елисеев молодец!

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

    помню пробовал смотреть этот ролик года 2-3 назад что ли или еще раньше и ничего не понимал
    прошел один курс, где делали фреймворк, потом смотрел еще ларавел курс от того же автора и там был разбор этого реквеста и вот теперь смотрю этот ролик и понимаю уже, что такое реквест
    это при всем при том, что пхп я еще учил в 2000 году и знаю всю эту херню с гетами и постами, даже делал цмс на файлах как выпускной проект на курсах тех лет

  • @artemvas2001
    @artemvas2001 7 лет назад +1

    Спасибо за трут Дмитрий вы лучший !

    • @codingfox
      @codingfox 7 лет назад

      трут и трут всё перетрут

  • @TakemuraGoro
    @TakemuraGoro 7 лет назад +4

    Дмитрий, не хотите по zend3 или symfony 4 курс сделать?
    Первый конечно не самый популярный у нас, зато на западе востребован. А второй - просто новый + по симфони видеокурсов и обучения почему-то мало.

    • @ElisDN
      @ElisDN  7 лет назад +3

      Да, как раз собираюсь www.elisdn.ru/blog/112/results-of-the-year

  • @narekpapoyan9039
    @narekpapoyan9039 7 лет назад

    Prosto agromnoe chelovechoskoe sposibo .

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

    почему мы делаем Request и Response иммутабельными?, т.е например: мы для каждого заголовка создаем новый объект, не лучше ли все хранить в одном объекте?, потому что мы же когда создаем новый объект теряем определенные данные (точнее не теряем а не передаем в новый объект)

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

      Потому что в php объекты передаются по ссылке. И чаще всего совершенно не нужно менять первую версию объекта типа Request, потому что это повлечёт непредвиденные изменения.

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

    Дмитрий, когда нам ждать курс по Laravel?

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

    Спасибо

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

    Здравствуйте, Дмитрий.Подскажите, какой гуи-шный фронтенд для git Вы используете в этих скринкастах?
    П.С. Спасибо за Ваш труд! Это просто НАХОДКА!

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

      Denis Romanov, SmartGit

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

    Не совсем понятно, можно ли использовать композер портативно. Я таскаю портативный xampp на флэшке. На рабочем компе ничего ставить нельзя, но с флэшкой можно рабоать без вопросов. А вот как композер установить на флешку?

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

      композер можно установить прямо в проект;)

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

    Давай Димасик !!

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

    1:42:44 - оговорились, поправьте себя пожалуйста. Очень часто путаете Request с Response =)

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

      2:05:59 - SapiEmitter is depricated, please update thus: zendframework/zend-httphandlerrunner :0)

  • @ИванДемин-у9м
    @ИванДемин-у9м 7 лет назад

    Спасибо, когда следующий урок?

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

    Прорабатываю пятый урок по ООП и параллельно начинаю Работать с этим материалом. После этого планирую начать симфони. Подскажите, правильную ли я выбрал последовательность. т.к. меня немного сбивает мнение моих друзей и коллег, что я сильно усложняю и в принципе могу сразу работать с материалом по симфони. Типа чтоб не терять время. Буду признателен за совет.

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

      Смотря что собираетесь разрабатывать. Symfony берут для крупных серьёзных проектов. Yii устарел. По заказам самый популярный сейчас Laravel. Поэтому если хотите делать типовые проекты на заказ, то лучше Laravel.

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

      @@ElisDN Спасибо за совет. Это по настоящему ценно для меня. У вас потрясающие и уникальные учебные проекты. Спасибо вам за то, что вы делаете для сообщества. Очень качественный интенсив по ООП. Если вы решите создать так сказать вторую его часть, углубляющуюся в проектирование и дизайн я буду рад рекомендовать его всем кого знаю, и безусловно буду первым кто его приобретет. Еще раз спасибо и успехов во всем, что вы делаете.

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

    Дмитрий, а зачем вот это в классе Response?
    if ($new->hasHeader($header)) {
    unset($new->headers[$header]);
    }
    Разве просто вот это не сделает то же самое?
    $new->headers[$header] = $value;

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

      Я вот голову ломаю об этом, и подумал, возможно так
      $new = clone $this;
      if ($this->hasHeader($header)) {
      unset($this->headers[$header]);
      }
      $new->headers[$header] = $value;
      return $new;
      Ответе, кто знает, почему так на видео указанно

  • @ProfGid
    @ProfGid 7 лет назад

    Спасибо!

  • @АнтонБурый-л7ф
    @АнтонБурый-л7ф 7 лет назад

    Круто

  • @Виталий-ч8в4р
    @Виталий-ч8в4р 6 лет назад +1

    добро

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

    26:35 О, эт про меня, надо смотреть :)

  • @scheidegg
    @scheidegg 7 лет назад

    Спасибо Дмитрий. Пилите исчо

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

    1:55:09 Дима, покорми котёнка!

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

    клёво

  • @_slash_-
    @_slash_- 3 года назад

    Почему php -S 0.0.0.0:8080 -t public public/index.php у меня удаляет файл index.php? И потом еще его не создашь после этого,в этой папке? Странно...

    • @ElisDN
      @ElisDN  3 года назад +1

      Действительно странно. Не должен удалять.

    • @_slash_-
      @_slash_- 3 года назад

      ​@@ElisDN Вот так работает php -S 0.0.0.0:800 public/index.php.

  • @Sergey-pn9kl
    @Sergey-pn9kl 6 лет назад +1

    Если у кого-то возникли трудности с SapiEmitter, то он уже в другом пакете. Из Diactoros убрали его.
    Для установки через композер - $ composer require zendframework/zend-httphandlerrunner
    И соответственно подключить в index.php - use Zend\HttpHandlerRunner\Emitter\SapiEmitter;

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

      не работает

    • @ЮрийЮ-н4у
      @ЮрийЮ-н4у 4 года назад

      сейчас уже вот этот пакет нужно "laminas/laminas-diactoros" и этот "laminas/laminas-httphandlerrunner"

  • @ТроллингСтоун
    @ТроллингСтоун 6 лет назад

    Уже есть OS на js)

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

    на скорости x0.85 лучше всего смотреть этот плейлист что бы по несколько раз одно и то же не пересматривать

  • @ВикторН-й2ь
    @ВикторН-й2ь 7 лет назад +3

    Поставил скорость 1,5х и где-то на 40 минуте уснул. Проснулся к 1:20, досмотрел все на 1,25х и порядок.

  • @zhanbolatnurutdin30
    @zhanbolatnurutdin30 7 лет назад +1

    А в чем плюс создание новых объектов при сеттере??? Почему бы просто не записывать в один и от же объект???

  • @АлександрИльков-з8ж

    Где ты в слове "Header" букву "И" нашёл?

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

      Вторая буква. И предпоследняя.

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

    Блин, начиная с 30 минуты начал засыпать )) такое ощущение, будто автор не по фреймворкам скринкаст делает, а по самым основам PHP и http-протокола. Не хватает только объяснения того, что делает функция echo и оператор присваивания. Впрочем, попробую переждать))

    • @ElisDN
      @ElisDN  5 лет назад +5

      Это мастер-класс по написанию фреймворка, а не по его использованию. Поэтому автор именно фреймворк с нуля пишет. И подробно объясняет, как каждая строка придумывается, работает и тестируется.

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

    Вот бы Vue.js+Vuetify + Laravel 5.7 + Vuex

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

    Уроки из цикла, как нарисовать сову, да еще плюс, сто раз переделать

  • @ВусалШахбазов-г4ю
    @ВусалШахбазов-г4ю 5 лет назад

    плохо...

  • @bewellegoist
    @bewellegoist 7 лет назад +1

    что-то со звуком, как будто ужат в какашку ((

    • @Anton-gc2xb
      @Anton-gc2xb 6 лет назад

      За что вы так с ужатами?((

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

    дизлайк за инклЮд

    • @coderpyru
      @coderpyru 6 лет назад +4

      дизлайк за сталкер