RESTful API на чистом PHP

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • Данное видео позволит вам понять возможности технологии REST, а также научится его разрабатывать и применять на практике. Весь материал ориентирован на новичков.
    Boosty: boosty.to/areaweb
    Наш образовательный проект - areaweb.su​​
    VK: areawebsu
    Телеграм: t.me/areawebsu
    Телеграм чат: t.me/+yMyO-maY...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Благодарю)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @andreymanaenko1638
    @andreymanaenko1638 11 วันที่ผ่านมา

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

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

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

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

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

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

    люблюколхоз

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

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

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

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

  • @MrAirrussia
    @MrAirrussia 10 หลายเดือนก่อน

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @тонистарк-д3ь
    @тонистарк-д3ь 4 ปีที่แล้ว +1

    application/json

  • @Vanhes_brawl
    @Vanhes_brawl 6 หลายเดือนก่อน

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

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

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

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

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

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

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

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

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

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

    Почему на нативной пыхе лучше не делать REST API?

    • @DiabloSat_off
      @DiabloSat_off 11 หลายเดือนก่อน

      Потому-что как только твой проект начнёт расширяться ,ты получишь какашку

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

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

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

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

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

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

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

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

    Бесценно👍👍👍

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

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

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

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

  • @yakut54
    @yakut54 10 หลายเดือนก่อน

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

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

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

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

    }
    ][

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

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

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

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

    Вот вот =)) и вот именно документации про технологии такой НЕТ! о0о Потом где то приняться хочешь, дают тебе такое задание и ты в полной Ж не в курсе и не делал это. После теряешь ещё много времени на это =_= вообще жесть. Сам для себя хочешь сделать тоже 0о0. Лучше бы всё знать и спокойным быть во всём =)

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

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

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

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

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

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

    Не очень понятно по структуре. Для чайников надо бы как-то пояснить всю структуру приложения. А также абсолютно непонятно как делать авторизацию пользователя, что использовать вместо сессий. Так и не нашел нормальную информацию.

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

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

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

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

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

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

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

    подставляет null, localhost/posts/null в функции updatePost, не понял почему, на кнопках "Редактировать" висят верные id постов
    ¯\_(ツ)_/¯

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

      разобрался 👍

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

      @@Cranok911 та же загвоздка. Насколько я понял, переменная id должна пробрасываться из selectPost в updatePost через глобал, но этого почему то не происходит )

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

      @@АгентСмит-к9ъ id=$id

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

      @@kazakhmen Доброго времени суток, а можете подробно написать что где исправить нужно а то не получается...

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

      @@Cranok911 Доброго времени суток, а можете подробно написать что где исправить нужно а то не получается...

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

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

  • @Saint_Marazm
    @Saint_Marazm 3 หลายเดือนก่อน

    360p? Ппц

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @Alexander-tp6gy
    @Alexander-tp6gy 10 หลายเดือนก่อน

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

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

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

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

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

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

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

    • @nihongo_
      @nihongo_ 3 หลายเดือนก่อน

      🤣

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

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

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

    отлично но value не метод а свойство

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

    Sql injection bro

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

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

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

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

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

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

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

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

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

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

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

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