Pull to refresh
41
0
sergeyfast @sergeyfast

Пользователь

Send message
Использовать HTTP Basic Auth. В клиенте достаточно добавить логин и пароль в массив $CurlOptions :)
Использовать токены через HTTP-заголовки. Для получения токенов можно написать необходимый метод.
Использовать токены как параметры метода.

помимо этих идей или их раскрыть надо?
Сделать общий proxy-класс, в котором описать все эти методы и сделать из него RPC Server.
Казалось бы, костыль. Но! Предположим, что мы делаем апи для мобильного приложения. Набор методов уже заранее известен, они находятся в разных классах. Создаем MobileAppServer (отнаследованный от BaseJsonRpcServer), в котором собираем все методы воедино — ничего лишнего. В такой реализации доступна пост-обработка результатов этих методов, например сокрытие лишних переменных в результирующих объектах. Как-то так.
>* auto-discovery — захватывает все public методы класса? куда девать public методы не используемые в API?
Вообще не делать их public) ну или добавить в $hiddenMethods, благо protected.
>* mass-assignment?
Тут не применимо, сигнатуры методов известны:)
Мысль понятна, но вам не кажется, что сервер не должен знать. что происходит на клиенте в общем случае? :)
Касательно тестов — для конечного клиента писать не нужно, тут имелось в виду тесты к базовой реализации клиента. Код конечного клиента генерируется на основе smd-файла.

В чем отличие от REST: наличие какого-то стандартизированного механизма auto-discovery.

Предположим, что у нас есть уже веб-сервис и сгенерированный клиент на основе smd-схемы.
В веб-сервисе появились новые методы. В случае REST — нужно вручную написать к ним реализацию в клиенте.
В случае с auto-discovery — нужно всего-лишь сгенерировать нового клиента — профит.

Курить левую документацию не нужно, т.к. это JSON-RPC :)
Отлично получилось расшифровать понятие «умного читателя» :)
Про подписку сервером — это больше похоже на версию 1.0, когда он был peer-to-peer ориентированный, разве нет?
Те, кто ругают win8 в плане интерфейса и отсутствия меню пуск — не умеют пользоваться горячими клавишами… А их прибавилось не мало.
+ Старое поведение осталось — Кнопка win — и сразу набираем то, что нам нужно)

Другой вопрос, конечно, это объяснить «родственникам», как этим всем пользоваться ;)
У меня на e6 с последней прошивкой точно такие же баги (а бывает и похуже), даже перепрошивка фениксом в refubrish не спасла. Жалею, что обновился на Belle. E6 отличный аппарат по железу и формфактору, но блин, внутренний софт расстраивает ;(
github.com/php/web-php — как думаете, тут «как правильно писать на php» или «как не нужно писать на php»? ;)
Осталось подождать, пока JetBrains в свои клёвые IDE прикрутит поддержку 1.7. А то сообщения типа «Project is likely to be of unsupported Subversion format» немного огорчают.
И не забываем пример из postgresql — generate_series(start timestamp, stop timestamp, step interval);
И про правую кнопку мыши на сообщении не забудьте)
Только не забудьте после просмотра ещё и оценить серию )
суровая правда вечернего воскресенья…
flash forward обычно пишут без. api.myshows.ru/shows/search/file/?q=flashforward.s01e01.avi :)
it crowd идет как the api.myshows.ru/shows/search/file/?q=the.it.crowd.s01e01.avi
а по остальным — просто в базе нет ;).
В общем, для популярных должно работать, а то, что не нашлось — вторым методом, это правильнее будет.

Пока только эти два, в дальнейшем — 60 — из серии «скорее всего этот сериал и возможно этот эпизод… „
В таком случае api.myshows.ru/shows/search/file/?q=Lie.To.Me.s03e12.rus.LostFilm.TV.avi в JSON параметр match = 85. Это означает, что файла такого он не нашел, но нашел сериал и серию (по регуляркам). А в оценке и отметке нужен episodeId, без него никак.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity