RESTful API на чистом PHP

Поділитися
Вставка
  • Опубліковано 3 жов 2024
  • Данное видео позволит вам понять возможности технологии REST, а также научится его разрабатывать и применять на практике. Весь материал ориентирован на новичков.
    Boosty: boosty.to/areaweb
    Наш образовательный проект - areaweb.su​​
    VK: areawebsu
    Телеграм: t.me/areawebsu
    Телеграм чат: t.me/+yMyO-maY...

КОМЕНТАРІ • 186

  • @БендерЗадунайский-щ9ы

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

  • @batradzbazzaev
    @batradzbazzaev 3 роки тому +8

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

    • @dmitrymedvedd
      @dmitrymedvedd 2 роки тому +2

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

  • @insonitvenatus1335
    @insonitvenatus1335 4 роки тому +82

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

  • @archinewtontv1104
    @archinewtontv1104 Рік тому +1

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

  • @Solcheg
    @Solcheg Рік тому +2

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

  • @iliashevtsov1351
    @iliashevtsov1351 3 місяці тому

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

  • @tymofiipuchinkiy233
    @tymofiipuchinkiy233 2 роки тому +2

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

  • @marhunter1698
    @marhunter1698 2 роки тому

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

  • @Sergey_Klimov
    @Sergey_Klimov Рік тому

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

  • @yakut54
    @yakut54 10 місяців тому

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

  • @safara_umarov
    @safara_umarov 4 роки тому +2

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

  • @aprinciple9559
    @aprinciple9559 4 роки тому +12

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

  • @ERRANNNN
    @ERRANNNN 4 роки тому +6

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

  • @ПавелКовчин
    @ПавелКовчин 4 роки тому +15

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

  • @danuiachimovschi9791
    @danuiachimovschi9791 3 роки тому +1

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

  • @saber1in435
    @saber1in435 Рік тому +8

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

  • @ZEPHYR-ZEPHYR-ZEPHYR
    @ZEPHYR-ZEPHYR-ZEPHYR 4 роки тому +12

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

  • @ivel17
    @ivel17 2 роки тому

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

  • @Konstantin.Zharinov
    @Konstantin.Zharinov 2 роки тому

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

  • @АгентСмит-к9ъ
    @АгентСмит-к9ъ 4 роки тому +6

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

    • @aleksandr-vyr
      @aleksandr-vyr 3 роки тому +1

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

    • @pavelst357
      @pavelst357 3 роки тому

      Благодарю)

    • @aj-alex
      @aj-alex Рік тому

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

  • @IgorAlentyev
    @IgorAlentyev 3 роки тому

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

  • @IT_psychopath
    @IT_psychopath 2 роки тому +7

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

    • @astkh4381
      @astkh4381 Рік тому

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

  • @fasteredfromua837
    @fasteredfromua837 4 роки тому +9

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

  • @Andrei_Super_Man
    @Andrei_Super_Man 4 роки тому +2

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

  • @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.

  • @awenn2015
    @awenn2015 3 роки тому +1

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

  • @Alexander-tp6gy
    @Alexander-tp6gy 10 місяців тому

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

  • @crazy-man
    @crazy-man 2 роки тому +1

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

  • @EdwardNorthwind
    @EdwardNorthwind 3 роки тому +3

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

  • @ДенисЛаниер
    @ДенисЛаниер 3 роки тому +1

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

  • @nero6818
    @nero6818 4 роки тому +15

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

  • @awenn2015
    @awenn2015 3 роки тому +2

    Заметка на будущее, делай масштаб в программах больше а то не черта не видно , все мелкое, да и белая тема глаза режет))

  • @АгентСмит-к9ъ
    @АгентСмит-к9ъ 4 роки тому +3

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

  • @АнастасияДолгополова-ш9д

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

  • @diatm1506
    @diatm1506 3 роки тому

    Отлично!

  • @Retruntobase
    @Retruntobase 4 роки тому +2

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

  • @atabeknuriddinov1035
    @atabeknuriddinov1035 2 роки тому

    Круто👍

  • @KIperad
    @KIperad 3 роки тому +1

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

  • @glebshalygin2550
    @glebshalygin2550 2 роки тому

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

  • @Геннадий-с5э
    @Геннадий-с5э 2 роки тому +1

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

  • @ИлимАйтибаев
    @ИлимАйтибаев Рік тому +1

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

  • @MrAirrussia
    @MrAirrussia 10 місяців тому

    а почему бы и не написал на чистом СИ rest api? на php без fw как два пальца, между прочим будет работать существенно быстрее, зачем автор ещё сюда базу припер не понятно, ибо REST это всего протокол обмена данными и не более того.

  • @wepko
    @wepko 4 роки тому +1

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

  • @dmitrymedvedd
    @dmitrymedvedd 2 роки тому +1

    Битый час говорил, кодил, а потом - это колхоз)))

  • @АбдуллаһМадхали

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

  • @alexangel8222
    @alexangel8222 2 роки тому +1

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

  • @тонистарк-д3ь
    @тонистарк-д3ь 4 роки тому +1

    application/json

  • @MrTandem31
    @MrTandem31 4 роки тому +2

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

  • @zhadyraimashova1776
    @zhadyraimashova1776 3 роки тому +1

    value не метод а свойство

  • @0503Andrew
    @0503Andrew 4 роки тому +2

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

    • @ArabicLang.online
      @ArabicLang.online 3 роки тому

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

  • @I248
    @I248 10 місяців тому

    я вот не пойму как POST реализовывать на клиенте (

  • @aibryx
    @aibryx 2 роки тому +1

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

  • @abdunov
    @abdunov 4 роки тому +1

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

  • @Saint_Marazm
    @Saint_Marazm 3 місяці тому

    360p? Ппц

  • @methesignore
    @methesignore 4 роки тому +5

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

  • @БорисПонамарёв-ъ7ж
    @БорисПонамарёв-ъ7ж 3 роки тому +1

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

  • @Vanhes_brawl
    @Vanhes_brawl 6 місяців тому

    Способ с js не работает уже😢😢

  • @AMORUSSS96
    @AMORUSSS96 6 місяців тому

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

  • @dmitrymedvedd
    @dmitrymedvedd 2 роки тому +1

    Не рав, а ро (raw)

  • @Sergey_Klimov
    @Sergey_Klimov Рік тому

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

  • @irina4388
    @irina4388 2 роки тому +1

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

  • @dmitrymedvedd
    @dmitrymedvedd 2 роки тому +1

    Put - это пут, а не пат

  • @ii3246
    @ii3246 2 роки тому

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

  • @andreymanaenko1638
    @andreymanaenko1638 13 днів тому

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

  • @MaksimBelokurov
    @MaksimBelokurov 3 роки тому

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

  • @Фанат-щ9ь
    @Фанат-щ9ь 3 роки тому

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

  • @freenorthcaucasus
    @freenorthcaucasus Рік тому

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

  • @ДмитрийБогдан-э7ы
    @ДмитрийБогдан-э7ы 4 роки тому +1

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

  • @АртёмВоинский-э7й
    @АртёмВоинский-э7й 2 роки тому

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

  • @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 там что то явно не то.

  • @Sergey_Klimov
    @Sergey_Klimov Рік тому

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

  • @BookwormYevgen
    @BookwormYevgen 4 роки тому +2

    "на чистом PHP" - c помощью JS???

    • @m.protasevich
      @m.protasevich 4 роки тому +5

      Видимо ты что-то путаешь, потому что JS тут использовался для того, чтобы показать, как можно использовать API написанный на PHP.

    • @digitalturkistan1857
      @digitalturkistan1857 3 роки тому +2

      как будешь получать ответ?

    • @awenn2015
      @awenn2015 3 роки тому

      Js это чисто для фронта , вест rest на php

  • @fantom9419
    @fantom9419 3 роки тому +1

    Бесценно👍👍👍

  • @Vladikslavik
    @Vladikslavik Рік тому

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

  • @GunaevVO
    @GunaevVO 2 роки тому

    на nodejs и python всё гораздо проще и понятнее)))

  • @artem__k
    @artem__k Рік тому

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

  • @D0F4M1N3
    @D0F4M1N3 2 роки тому

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

  • @Thunderstormplus
    @Thunderstormplus 3 роки тому

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

  • @farkoppp
    @farkoppp 4 роки тому +1

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

  • @xbsxbs22
    @xbsxbs22 2 роки тому

    Sql injection bro

  • @biLLie_wiLLie
    @biLLie_wiLLie 3 роки тому

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

  • @naimjonyunusov4174
    @naimjonyunusov4174 3 роки тому

    Круто бро сделай с laravel restapi, с sign подписью и авторизации

  • @konstantinMonty
    @konstantinMonty 3 роки тому

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

  • @liteleak4049
    @liteleak4049 4 роки тому +1

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

  • @игорьшапранов
    @игорьшапранов 2 роки тому

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

  • @АлекандрМарченко-д6г

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

  • @alexeylaugha1371
    @alexeylaugha1371 Рік тому

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

  • @mister_robot01
    @mister_robot01 4 роки тому

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

  • @АлексейГрибунов
    @АлексейГрибунов 2 роки тому

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

  • @temirkhanamanbaev42
    @temirkhanamanbaev42 4 роки тому +1

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

  • @KomarovAlexander
    @KomarovAlexander 4 роки тому

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

  • @Faktorial-ph1lt
    @Faktorial-ph1lt 3 роки тому

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

  • @ИванКульков-л7ы
    @ИванКульков-л7ы 2 роки тому

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

  • @aaron1061
    @aaron1061 4 роки тому

    Здравствуйте подскажите пожалуйста видео5

  • @trigeminalneuralgia9889
    @trigeminalneuralgia9889 5 місяців тому

    это видео для блондинок? или нет

  • @alexbork8659
    @alexbork8659 Рік тому

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

  • @DmitriyAlekseev-x5b
    @DmitriyAlekseev-x5b 2 роки тому

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

  • @maxgreek6041
    @maxgreek6041 3 роки тому

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

    • @digitalturkistan1857
      @digitalturkistan1857 3 роки тому

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

  • @ИванКонкин-с4м
    @ИванКонкин-с4м Рік тому

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

  • @web9191
    @web9191 4 роки тому

    Зачем каждый раз передавать переменную с подключением в функцию? Можно же просто брать глобальную переменную с этим же подключением. И по поводу switch, он работает не так быстро, как тот же if, так что по моему мнению, вы сделали правильно

    • @Olegcowboyoleg
      @Olegcowboyoleg 8 місяців тому

      Можно, но так лучше не делать, если ты в функции что-то наворотишь с глобальной переменной $connect, то ты наворотишь глобально. Не надо для ключевых вещей делать глобальную область видимости, хотя за три прошедших года уже и так это понимаешь )))