RESTful API на чистом PHP

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

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

  • @insonitvenatus1335
    @insonitvenatus1335 4 ปีที่แล้ว +84

    Ну наконец-то понятный гайд по созданию rest api! Еще и на пыхе, вообще сказка! Лови лайк

  • @saber1in435
    @saber1in435 ปีที่แล้ว +8

    Самый понятный ролик для начинающих. Отмечу момент с объяснением CORS политики, которую я сам изучал несколько дней задаваясь вопросом что это такое. Если даже не владеете языком PHP, это отличный ролик чтобы на простом и поянтном примере понять что такое REST API и как оно работает. Автору респект!

  • @АбдуллаһМадхали
    @АбдуллаһМадхали ปีที่แล้ว +2

    Когда других изучаю не понятно. Когда объясняет учитель Михаил сразу все понимаю. Спасибо вам большое.

  • @БендерЗадунайский-щ9ы
    @БендерЗадунайский-щ9ы 4 ปีที่แล้ว +18

    всё доступно и без воды! Талант! продолжай!

  • @IT_psychopath
    @IT_psychopath 3 ปีที่แล้ว +7

    супер, спасибо!
    те кто пишет/учит js, не надо писать в fetch рендер элементов, это делается отдельной функцией. и если нам надо вставить повторяющийся элемент, нам не налдо его пихать в js, достаточно просто скопировать его с html и продублировать подставляя нужные значения. для этого есть шаблоны, тег. это я так, вдруг кто учит, чтоб не учились делать плохо на старте.))) просто в примерах пишут упрощенно, привыкаешь к этому, и потом понеслось страдания переучиваться.))) вообще, по хорошему, лучше сразу приучать себя к какому mvc подходу при написании кода. плохо что многие записывая уроки, игнорируют это, думая что так упрощают. на деле ты привыкаешь к плохому, тебе сыпят отказы ибо ты не понимаешь как надо делать. и еще много проблем. это не хейт, просто к слову. я сам через эти грабли прошел... сейчас ребята приходят и у всех одна проблема, вот именно в этом, пишут все в кучу не понимая как разделять а переучить очень сложно...

    • @astkh4381
      @astkh4381 ปีที่แล้ว

      Ты про то , что надо выносить в роутеры и контролллеры ?

  • @batradzbazzaev
    @batradzbazzaev 3 ปีที่แล้ว +8

    Именно как урок для того чтобы понять REST замечательно. То есть не просто теория о технологии, а на практике показано как происходит процесс получения, добавления, редактирования и удаления данных из базы. Никогда не работал с этой технологией и не понимал ее до конца. Сейчас вижу, что проблем с ней нет и буду пытаться внедрять REST в свое приложение. Всегда оттягивал это дело, но ничего сложного по сути. Понимаю, что именно так и должно работать современное приложение, чтобы не было ограничений для его развития и расширения. Спасибо автору. Потрачен час на просмотр не был понапрасну.

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

      Как сейчас у тебя дела?

  • @АгентСмит-к9ъ
    @АгентСмит-к9ъ 4 ปีที่แล้ว +6

    Повторил код у себя на машине. Js заработал только после корректировки двух моментов:
    - для обновления поста в selectPost необхдоимо переименовать локальную переменную, т.к. она затеняла глобальную;
    - что бы выполнялось получение постов после обновления, в объявление resData в updatePost добавил await.

    • @aleksandr-vyr
      @aleksandr-vyr 4 ปีที่แล้ว +1

      Огромное Спасибо!

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

      Благодарю)

    • @aj-alex
      @aj-alex ปีที่แล้ว

      Спасибо, помог)

  • @fasteredfromua837
    @fasteredfromua837 4 ปีที่แล้ว +9

    Все очень круто, ясно понято, доступно! уже прям хочется посмотреть как весь этот пример будет выглядеть с помощью фремворков!

  • @ПавелКовчин
    @ПавелКовчин 4 ปีที่แล้ว +15

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

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

    Большое спасибо!
    Позволю себе замечание: реакт и вью требует под себя специальные сервера и обслуживание, что для большинства сайтов-блогов не нужно, а вот рнр фреймворк очень даже пригодится

  • @iliashevtsov1351
    @iliashevtsov1351 5 หลายเดือนก่อน

    потрясающий видеотуториал. лучше, чем в англоязычном инернете.

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

    Норм натрусил, теперь разгребать дня 3, уважение!

  • @ZEPHYR-ZEPHYR-ZEPHYR
    @ZEPHYR-ZEPHYR-ZEPHYR 4 ปีที่แล้ว +12

    Дружище, выпускай больше роликов. Удачи!)

  • @Геннадий-с5э
    @Геннадий-с5э 2 ปีที่แล้ว +1

    Шикарно!!!!, всё по полочкам разложил, большое спасибо, а то реально на Ютубе русскоязычном почти не было ничего!)

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

    Годный гайд по REST'у, а то толковой информации днём с огнём не сыщешь. Спасибо автору!
    А по поводу "колхоза", скажем так, встречал компании которые "колхозят" свои framework'и, и для этого необходимо понимать принцип работы REST API.

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

    Огонь!!! Благодарю!!! В один удар - качественное, доступное объяснение большого концепта. Очень круто)))

  • @ИлимАйтибаев
    @ИлимАйтибаев ปีที่แล้ว +1

    спасибо Вам огромное , дай Бог вам и вашим близким здоровья , очень полезный урок .

  • @Sergey_Klimov
    @Sergey_Klimov ปีที่แล้ว

    Даже темы cors политики осветил. Вообще респект.

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

    Это прям то что я искал но вовремя не нашёл, написал курсовую с рест апи и только сейчас увидел этот видос, спасибо теперь я знаю как делать правильно

  • @yakut54
    @yakut54 ปีที่แล้ว

    У меня как раз есть WEB приложение, и хочу на флаттере его ещё запилить. Вот и на сервере, как раз пых крутится. Я его, если честно, знаю постольку поскольку, но в рамках твоих видосов хватает, скилл прокачать... вот и понадобился мне REST API. А тут такой материал кайфовый! Инфы поле непаханое! Спасибо тебе за науку! 😎

  • @игорьшапранов
    @игорьшапранов 2 ปีที่แล้ว

    Рисуй карту, потом учи по ней ходить. Один из лучших подходов в обучении. Спасибо, очень здорово. КРАСАВЕЦ )))).

  • @АлексейГрибунов
    @АлексейГрибунов 3 ปีที่แล้ว

    Супер, как раз то, что я искал.. Начинаю знакомство с rest api и твой ролик однозначно лучший из тех, что мне попадались.

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

    Да блин, наконец-то мне объяснили,спасибо!

  • @ИванКонкин-с4м
    @ИванКонкин-с4м 2 ปีที่แล้ว

    Пожизненная подписка за такой контент!

  • @methesignore
    @methesignore 4 ปีที่แล้ว +5

    Сейчас проходит ВорлдСкиллс и послезавтра будет как раз тема с Рестфул АПИ и выходит это видео, БАМ! Огромное спасибо за старания, продолжай в том же духе.

  • @АгентСмит-к9ъ
    @АгентСмит-к9ъ 4 ปีที่แล้ว +3

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

  • @БорисПонамарёв-ъ7ж
    @БорисПонамарёв-ъ7ж 3 ปีที่แล้ว +1

    Ты молодец! Всё понято! Продолжай!

  • @danuiachimovschi9791
    @danuiachimovschi9791 3 ปีที่แล้ว +1

    multumesc foarte mult
    acum am inteles pentru ce este postman si restful!

  • @DmitriyAlekseev-x5b
    @DmitriyAlekseev-x5b 2 ปีที่แล้ว

    1000000 благодарностей за видео :)

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

    Спасибо огромное, Михаил! За такой понятный и полезный урок!

  • @Faktorial-ph1lt
    @Faktorial-ph1lt 3 ปีที่แล้ว

    Большое спасибо! Очень достойно и доступно всё изложено. И даже много нового для себя нашел в Вашем видео.

  • @АнастасияДолгополова-ш9д
    @АнастасияДолгополова-ш9д 4 ปีที่แล้ว +3

    Спасибо- очень выручил сегодня!)лайк и подписка😊

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

    Видео супер, очень информативно, спасибо

  • @abdunov
    @abdunov 4 ปีที่แล้ว +1

    Спасибо тебе ОГРОМНОЕ ЧЕЛОВЕЧИЩЕ!

  • @Konstantin.Zharinov
    @Konstantin.Zharinov 2 ปีที่แล้ว

    Лучший ролик года!

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

    Очень круто и понятно спасибо автора

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

    Большое спасибо! Понял абсолютно всё!

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

    Вооооооооооот, то что я искал!
    Пасибо!

  • @farkoppp
    @farkoppp 4 ปีที่แล้ว +1

    Спасибо! Очень понятные основы

  • @Alexander-tp6gy
    @Alexander-tp6gy ปีที่แล้ว

    спасибо большое, очень помогли

  • @awenn2015
    @awenn2015 3 ปีที่แล้ว +1

    Я думал rest API на пыхе это что то магическое, а это просто нужный файл который может ответить на любые запросы и все, изи вин крч, пойду допилю существующий api файл на моей админке )))

  • @Логовотестировщика
    @Логовотестировщика 3 ปีที่แล้ว

    Благодарю! Полезный ресурс!

  • @ДмитрийБогдан-э7ы
    @ДмитрийБогдан-э7ы 4 ปีที่แล้ว +1

    Отличное видео, продолжай в том же духе!)

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

    DELETE and PATCH must be checked for: if(mysqli_affected_rows($connection) === 0) before response generation. Now, for all none-existing IDs, generating positive response. Anyway You are good in this topic. Thank You.

  • @nero6818
    @nero6818 4 ปีที่แล้ว +15

    для тех кто заметил Phyton - я с вами))

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

    спосибо из Узбекистана

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

    Классное видео! Всё чётко и понятно

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

    Прекрасное видео, спасибо!

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

    Чел ты ЛУЧШИЙ👍💯

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

    Спасибо. Все понятно и доступно.

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

    Что-то как -то слишком подозрительно просто) Спасибо за видео.

  • @liteleak4049
    @liteleak4049 4 ปีที่แล้ว +1

    Спасибо за урок

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

    Просто красавчик!

  • @aprinciple9559
    @aprinciple9559 4 ปีที่แล้ว +12

    Дикция и подача хорошая, можно смело курс/какое-то обучение пилить) Конец названия канала оскорбляет)

  • @АлекандрМарченко-д6г
    @АлекандрМарченко-д6г ปีที่แล้ว

    Для новичка норм. Еще бы видео с авторизацией и токеном

  • @fantom9419
    @fantom9419 3 ปีที่แล้ว +1

    Бесценно👍👍👍

  • @ERRANNNN
    @ERRANNNN 4 ปีที่แล้ว +6

    У кого при указании header ошибка
    Попробуйте
    header('Content-type: application/json');
    Может кому пригодится!

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

    Мужик, спасибо!!! Вспоминаю что и как и вот это то что нужно в рунете реально хрен найдешь нормальное объяснение, только код а что почему зачем по нулям.

  • @crazy-man
    @crazy-man 2 ปีที่แล้ว +1

    думаю конструкцию переделать лучше типа if($med =='POST') { ... return }, эти бесконечные else if очень запутывают, часто так делаю

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

    Супер а обзор будет по фреймворкам для Rest Api?

  • @ДенисЛаниер
    @ДенисЛаниер 3 ปีที่แล้ว +1

    Добрый день ,а можно видео с формами, а точнее чек боксы радио и т.д., что бы они записывались в БД.
    Спасибо

  • @temirkhanamanbaev42
    @temirkhanamanbaev42 4 ปีที่แล้ว +1

    Спасибо круто!!!

  • @КрасивыеМыслииСлова
    @КрасивыеМыслииСлова 4 วันที่ผ่านมา

    здравствуйте
    подскажите пожалуйста или , если есть, пришлите ссылку на пример
    как к тому что вы написали сделать авторизацию и с помощью других программ заходить на этот api и использовать его
    ?

  • @ilnazsab4476
    @ilnazsab4476 27 วันที่ผ่านมา

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

  • @rinatsarmuldin2280
    @rinatsarmuldin2280 ปีที่แล้ว

    Спасибо!!!

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

    Интересно. Спасибо

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

    VM24:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 await(async) показывает на 19 строчку, где вызывается функция getPosts() в JS

  • @KIperad
    @KIperad 3 ปีที่แล้ว +1

    Всё хорошо, но хотелось бы про PUT информации (например если у поста есть картинка, как её обновить). И не хватает большего кол-ва типов , т.е. не только posts, а может users - что бы было понятно как структуру формировать (это я к тому что внутри каждого типа проверять метод?)

  • @freenorthcaucasus
    @freenorthcaucasus ปีที่แล้ว

    Как насчёт отправки файлов через post запрос?

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

    Отлично!

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

    Круто👍

  • @alexeylaugha1371
    @alexeylaugha1371 ปีที่แล้ว

    А запросы с параметрами, например, ?id=1. В $_GET он отобразится?

  • @AMORUSSS96
    @AMORUSSS96 9 หลายเดือนก่อน

    а что по безопасности? Если к примеру кто-то узнал про наш API (расположение) он получается тоже может делать операции с данными?

  • @Vladikslavik
    @Vladikslavik ปีที่แล้ว

    При удалении поста происходит скроллинг к началу документа. Можно это как-то пофиксить?

  • @Sergey_Klimov
    @Sergey_Klimov ปีที่แล้ว

    А можно при создании поста вернуть тот же самый пост и на клиенте не запрашивать весь список постов, а просто развернуть все старые посты и добавить в конец новый) Тогда не нужно будет делать лишний запрос в бд))

  • @nobleknight4269
    @nobleknight4269 ปีที่แล้ว

    Хорош!

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

    у вас же в phpstorm в строен postmen, просто создаете файл (забл как его надо обозвать) и все, прям в IDE с левой стороны будет у вас postmen (его возможности). кому интересно, гугланите, нет под рукой ноута, не помню какой там файл надо создавать в корне проекта...

  • @artem__k
    @artem__k ปีที่แล้ว

    Не подскажете, почему такие большие задержки при обращении к базе данных - по 2 секунды каждый запрос обрабатывается? Данных очень мало. Подозреваю, что в каких-то настройках дело

  • @ИванКульков-л7ы
    @ИванКульков-л7ы 2 ปีที่แล้ว

    Есть вопрос. Почему элементы долго рендерятся при отрисовке в js, страница уже загружена и только через несколько секунд догружаются посты хотя их немного

  • @ДмитрийСеверин-в7е
    @ДмитрийСеверин-в7е 2 ปีที่แล้ว

    благадарю

  • @Фанат-щ9ь
    @Фанат-щ9ь 3 ปีที่แล้ว

    При редактировании почему то не срабатывает await getPosts и меняет только после перезагрузке в первом элементе

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

    Великом могуйственном PHP.
    Статус пополнения словаря: Успешно.

  • @АртёмВоинский-э7й
    @АртёмВоинский-э7й 2 ปีที่แล้ว

    У меня вопрос !
    отправляю запрос через постман но мне пишет ошибку в методе post что не известные ключи что делать

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

    Видео класс, вот только не понял, как сделать вывод отдельных постов?

    • @ArabicLang.online
      @ArabicLang.online 4 ปีที่แล้ว

      Преобразовать ссылку-строку в массив методом explode("/", $url) и вытащить из массива нужную часть урла.

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

    Какие Фреемворки посоветуете для создания Rest API для простого блога?

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

    а можно поподробнее про недостатки такого подхода? Просто хочется понять почему рестфул апи пишут на ноде и питоне. В чате по пхп сказали что все норм и писать на пхп можно и все ок

  • @АлександрГайдук-ь8ф
    @АлександрГайдук-ь8ф 2 ปีที่แล้ว

    Добрый день. Подскажите у меня в fetch два массива
    [

    {
    "id": "70",
    "title": "мммвdd",
    "category": "1",
    "description": "смчмчсчмс",

    }
    ][

    {
    "id": "1",
    "category": "Hobby"
    }
    ]
    Как мне их вывести?

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

    Я сначало подумал, что сложно php, а на самом деле не сложно написать, чем писать laravel 8!=)

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

    Очень познавательно! Всегда хотел узнать как вообще устроен rest api. Вопрос, как я понял с методом PATCH я не могу изменять файлы, так ? а как их изменять по другому ?

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

    Супер ...... !!!

  • @BLHA-ib3rf
    @BLHA-ib3rf 3 ปีที่แล้ว +1

    Привет, повторил полностью за Вами но у меня при апдейте, в форму данные попадают но при нажатие кнопки ничего не происходит ставлю console.log(id); и вижу в консоле Null можно совет как это исправить?

    • @Богдан-с5о8м
      @Богдан-с5о8м 2 ปีที่แล้ว

      function selectPost($id, title, body) {
      id = $id;
      document.getElementById('title-edit').value = title;
      document.getElementById('body-edit').value = body;
      }
      таким образом должна выглядеть функция и все будет работать

    • @kamonnful
      @kamonnful ปีที่แล้ว

      ​@@Богдан-с5о8м тоже смотрел видио и думаю, что за бред id = id там что то явно не то.

  • @romanenkoonline
    @romanenkoonline 3 ปีที่แล้ว +1

    22:52 Зачем выводить посты, задействуя JS? Не быстрее ли на фронт отдать PHP-функцию, например, getPosts(...разные атрибуты...) и взять то, что необходимо и вывести?

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

    Доброго времени суток. Большое спасибо за такой доходчивый урок. Многое по этой теме стало понятно. Я вынужден был перейти к технологии REST, так как готовые решения для построения интерфейса нашей интернет-системы с сайтом на Drupal 8 оказались не рабочими: Feeds, Commerce-Api. У нас есть необходимость удалённо работать с Продуктами в Drupal, в частности, изменять значения атрибутов и полей.
    Не подскажете ли, каким готовым решением для построения такого интерфейса можно воспользоваться?

  • @wepko
    @wepko 4 ปีที่แล้ว +1

    Ставь лайк если тоже готовишься к WorldSkils ))

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

    Репы на гите нет?

  • @Sergey_Klimov
    @Sergey_Klimov ปีที่แล้ว

    Блин, на чистой пыхе это увлекательнее делать, чем через фреймворки. Конечно для новичка, вроде меня.
    Почему говорят, что на чистой пыхе лучше не писать апишки?

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

    топ бро

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

    А что Сайт или Мобильное приложение не могут обращаться на прямую к одной БД, почему обязательно через REST?

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

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

  • @EdwardNorthwind
    @EdwardNorthwind 4 ปีที่แล้ว +3

    Нужно было сразу просто создать 4 файла и переходить в них в зависимости от REQUST_METHOD, а не фигачить всё в одном файле, хотя ты это только 38-я минута, может когда ты дойдешь до +10 if/else так и сделаешь.
    Но за видео всё равно спасибо.

  • @angular-developer-e1t
    @angular-developer-e1t 3 หลายเดือนก่อน

    c PATCH перемудрил. Просто проверять есть ли $id. Если нет - новый если есть обновить старый. А то вдруг нужен именно BODY файлы обновлять хранимые.