Уважаемый автор,я вот хочу реализовать свой мини сайт доску объявлений с регистрацией и авторизации пока только для сайта,и restapi чтобы я мог мобильное приложение создать под него. Но не знаю как сделать регистрацию и авторизацию по токенам. Может вы добавите урок как можно это сделать. Фреймворки пока не хочу юзать они потребляют колоссально много ресурсов хостинга, пока для меня это не позволительная роскошь.
1.
Каким образом вызывается метод jsonSerialize()? В коде вроде нет явного обращения к этому методу.
2.
В данном случае(да хотя бы в рамках примеров из урока), при работе с API уместно было бы использование cURL вместо Postman?
3.
file_get_contents('php://input')
Если принимаем какие-то данные API с какого-то ресурса, вместо php://input просто вставляем ссылку?
В качестве мыслей вслух: Вроде ж и фронт-контроллер практически идентичный тому что уже писали ранее в index.php, а все равно по памяти не получилось все воспроизвести, пришлось подглядывать в образец с урока/с готового кода в файле, хотя понятна каждая строчка - что для чего и как работает... Так же и часть методов/классов, что писали ранее - по памяти все так же вряд ли напишу с нуля, а по написанному коду - все предельно ясно - что зачем и почему. Т.е. с готовым кодом в качестве шпаргалки можно что-то самому написать, но в голове все не держится, боюсь, что придется все заново пробегаться, хотя бы освежить в памяти, наизусть что-ли заучивать... "Стек напроход" получается - пока одно самое свежее осваиватся, самое старое частично стирается из памяти - в глубокий пассив переходит, или я слишком много времени в деталях копаюсь, пытаюсь более подробно изучить вопрос, а на этом фоне основная информация плох закрепляется, то ли практики очень мало, то ли темп изучения слишком быстрый. Хотя сейчас уже на пройденный материал смотришь более осознанно. Особенно проблема с названиями и синтаксисом встроенных функций, а шторм не всегда подсказывает...
json_encode проверяет реализацию интерфейса, если реализует, то вызывается метод.
Вполне
Советую использовать для походов в API библиотеку guzzle. Но в самых простых случаях можно так, как вы написали
Попробуйте несколько раз подряд написать самостоятельно) Ну и нужно понимать, что реализация может очень сильно отличаться. Если вы в целом можете реализовать такой компонент но по-своему - это большой успех.
Божественно, доходчиво, куда лайк ставить?
Кстати, а почему бы не добавить рейтинг урокам? Типа лайк-дизлайк. Можно будет составлять рейтинг уроков, а те, у которых плохой рейтинг - дорабатывать в соответствии с теми, которые нравятся пользователям. Стандартная продуктовая история, которая всегда работала!)
Приветствую)
У меня браузер отображает данные из статьи (кириллицу) в символах Unicode. А у вас в коде все нормально. Можно ли использовать второй параметр для этого в функции json_encode($data, JSON_UNESCAPED_UNICODE)? Влияет ли это на что-то в дальнейшем? И почему у вас не требуется этот второй параметр, а мне он нужен (может, проблема в браузере Opera)?
Привет. В принципе все общее представление об REST API имеется, но е понятно как узнать какой тип запроса. и где именно разбирать и соответствующим образом реагировать на них?
Артём! Я знаю про ассоциативный массив этот и где там лежит метод запроса. Я немного спрашиваю про другое. Где на каком уровне смотреть метод запроса, проверять его и запускать соответствующий метод соответствующего АПИ контроллера.
Где эти соответствия задаются, проверяются и срабатывают?
В роутинге. Там же где происходит матчинг URL, добавляется проверка на метод запроса. Для одного и того же URL разные методы могут (и должны) вызывать разные экшены.
При добавлении функции add в апиКонтроллер Шторм выдал ошибку об отсутствии ext-json в composer.json, исправил добавлением в него строчки
Так, добавление, может пригодится кому
Да, последние версии шторма начали требовать это. Спасибо =)
Уважаемый автор,я вот хочу реализовать свой мини сайт доску объявлений с регистрацией и авторизации пока только для сайта,и restapi чтобы я мог мобильное приложение создать под него. Но не знаю как сделать регистрацию и авторизацию по токенам. Может вы добавите урок как можно это сделать. Фреймворки пока не хочу юзать они потребляют колоссально много ресурсов хостинга, пока для меня это не позволительная роскошь.
Так ведь в этом курсе всё есть) И регистрация и авторизация
Я имею ввиду по токенам для rest
То же самое что и в уроках, только вместо куки токен будете брать из заголовков.
1.
Каким образом вызывается метод jsonSerialize()? В коде вроде нет явного обращения к этому методу.
2.
В данном случае(да хотя бы в рамках примеров из урока), при работе с API уместно было бы использование cURL вместо Postman?
3.
Если принимаем какие-то данные API с какого-то ресурса, вместо php://input просто вставляем ссылку?
В качестве мыслей вслух: Вроде ж и фронт-контроллер практически идентичный тому что уже писали ранее в index.php, а все равно по памяти не получилось все воспроизвести, пришлось подглядывать в образец с урока/с готового кода в файле, хотя понятна каждая строчка - что для чего и как работает... Так же и часть методов/классов, что писали ранее - по памяти все так же вряд ли напишу с нуля, а по написанному коду - все предельно ясно - что зачем и почему. Т.е. с готовым кодом в качестве шпаргалки можно что-то самому написать, но в голове все не держится, боюсь, что придется все заново пробегаться, хотя бы освежить в памяти, наизусть что-ли заучивать... "Стек напроход" получается - пока одно самое свежее осваиватся, самое старое частично стирается из памяти - в глубокий пассив переходит, или я слишком много времени в деталях копаюсь, пытаюсь более подробно изучить вопрос, а на этом фоне основная информация плох закрепляется, то ли практики очень мало, то ли темп изучения слишком быстрый. Хотя сейчас уже на пройденный материал смотришь более осознанно. Особенно проблема с названиями и синтаксисом встроенных функций, а шторм не всегда подсказывает...
Попробуйте несколько раз подряд написать самостоятельно) Ну и нужно понимать, что реализация может очень сильно отличаться. Если вы в целом можете реализовать такой компонент но по-своему - это большой успех.
Божественно, доходчиво, куда лайк ставить?
Кстати, а почему бы не добавить рейтинг урокам? Типа лайк-дизлайк. Можно будет составлять рейтинг уроков, а те, у которых плохой рейтинг - дорабатывать в соответствии с теми, которые нравятся пользователям. Стандартная продуктовая история, которая всегда работала!)
Хех) Ну в целом можно. Но как правило дизлайк или в комментарии летит, или мне в личку.
Что-то я немного запутался((
Напомните, пожалуйста, в каком из уроков мы писали AbstractController?
Или можно ссылку на исходники? Спасибо!!!
Это было вот тут
Приветствую)
У меня браузер отображает данные из статьи (кириллицу) в символах Unicode. А у вас в коде все нормально. Можно ли использовать второй параметр для этого в функции json_encode($data, JSON_UNESCAPED_UNICODE)? Влияет ли это на что-то в дальнейшем? И почему у вас не требуется этот второй параметр, а мне он нужен (может, проблема в браузере Opera)?
Привет. Да, можно использовать. По поводу влияния - не в курсе, погуглите)
Можете еще поставить расширение для браузера, которое форматирует JSON. Не знаю правда, есть ли в опере такое.
Было бы круто еще про cors, погонять запросы между фронтом и бэком на разных доменах...
Предлагайте тему) https://php.zone/post/offer-theme
Привет. В принципе все общее представление об REST API имеется, но е понятно как узнать какой тип запроса. и где именно разбирать и соответствующим образом реагировать на них?
Как узнать тип запроса на беке средствами PHP? Если да, то он лежит в
Артём! Я знаю про ассоциативный массив этот и где там лежит метод запроса. Я немного спрашиваю про другое. Где на каком уровне смотреть метод запроса, проверять его и запускать соответствующий метод соответствующего АПИ контроллера.
Где эти соответствия задаются, проверяются и срабатывают?
В роутинге. Там же где происходит матчинг URL, добавляется проверка на метод запроса. Для одного и того же URL разные методы могут (и должны) вызывать разные экшены.
Спасибо! Но каким образом это указать!?
Напрммер как по нкоторой аналогии в ларавеле
Урл - > метод запррса, контрооелр, метод
Ну и укажи так же, в чём проблема-то?
Пришлось отключить эту опцию, иначе получалась ошибка ENOTFOUND в Postman
Отправляя запрос через Postman, можно как-то x-дебагом отследить работу скрипта?
Можно query-параметр добавить ?XDEBUG_SESSION_START=PHPSTORM
Да, уже разобрался. Спасибо)