4699fcbeb9
* Wall: add early suggestions * Fix br * Fix empty posts * fck * Add offset for api * Add notifications of new suggestion posts * Fix mentions in suggested posts * 🤮🤢 * Change regex Теперь оно удаляет все теги а не только <br> * Add da koroche pohuy * Эдд апи метходс Методы нестандартные немного * Pon * Add skloneniyia * newlines * int * Update loaders and add avtopodgruzka postov * Update JOERGK.strings * Blin * Remove repeated code, fix loaded buttons on chr... ...ome and fix getting suggested posts via API.Wall.getPost * Fix polls * Fihes Теперь уведомление о принятии поста не приходит, если вы приняли свой же пост Пофикшен баг перехода в предложку Добавлен старый вид постов в предложке Теперь счётчик постов в предложке у прикреплённой группы обновляется при принятии или отклонении поста Убрано всплывающее уведомление об отклонении поста (оно раздражает) Теперь если вы посмотрели все посты на одной странице (не на первой) и на ней не осталось постов, вас телепортирует на предыдущую страницу * Remove ability to delete your accepted psto * oi blin * Improvements 2 api * g * openvk.uk Возможно, приведение кода к кодстайлу (удаление скобочек то есть) * aiaks * al_wall.js -> al_suggestions.js * 👨💻 Add 👨💻 fading 👨💻 * Add "owner's posts' and "other's posts" Давайте рофлить👨💻👨💻👨💻 * planshet openvk Add tabs for post view, add signer's object in wall get and add person icon in microblog * Simplefai ze kod * PHP 8 FIX WATAFAK * Add indesk |
||
---|---|---|
.. | ||
Exceptions | ||
Handlers | ||
Structures | ||
README.md |
VK API Compatability layer for OpenVK
This directory contains VK API handlers, structures and relared
exceptions. It is still a work-in-progress functionality.
Note: requests to API are routed through
openvk.Web.Presenters.VKAPIPresenter, this dir contains only handlers.
Implementing API methods
VK API methods have names like this: example.test
. To implement a
method like this you will need to create a class Example
in the
Handlers subdirectory. This class must extend VKAPIHandler and be
final.
Next step is to create test method. It must have a type hint that is
not void. Everything else is fine, the return value of method will be
authomatically converted to JSON and sent back to client.
Parameters
Method arguments are parameters. To declare a parameter just create an
argument with the same name. You should also provide correct type hints
for them. Type conversion is done automatically if possible. If not
possible error №1 will be returned.
If parameter is not passed by client then router will pass default value
to argument. If there is no default value but argument accepts NULL then
NULL will be passed. If NULL is not acceptable, default value is
undefined and parameter is not passed, API will return missing parameter
error to client.
Returning errors
To return an error, call fail method like this: $this->fail(5, "error")
(first argument is error code and second is error message).
You can also throw the exception manually: throw new APIErrorException("error", 5)
(class:
openvk.VKAPI.Exceptions.APIErrorException).
If you throw any exception that does not inherit APIErrorException then
API will return error №1 (unknown error) to client.
Refering to user
To get user use getUser
method: $this->getUser()
. Keep in mind it
will return NULL if user is undefined (no access_token passed or it is
invalid/expired or roaming authentification failed).
If you need to check whether user is defined use userAuthorized
. This
method returns true if user is present and false if not.
If your method can’t work without user context call requireUser
and it
will automatically return unauthorized error.
Working with data
You can use OpenVK models for that. However, do not return them (either you will leak data or JSON conversion will fail). It is better to create a response object and return it. It is also a good idea to define a structure in Structures subdirectory.
Have a lot of fun