Расширение REST API модулями¶
Для расширения REST API модулем нужно:
- Создать в папке с модулем (например, app/addons/<id_модуля>) директорию
Tygh/Api/Entities
. - В созданной директории создать PHP-файл новой сущности, например, Things.php.
- В этом файле определить класс новой сущности в пространстве имён
Tygh\Api\Entities
, унаследованный от абстрактногоApi\AEntity
и реализующий все 4 обязательных метода.
Важно
Класс должен называться так же, как и файл сущности.
Базовый шаблон¶
namespace Tygh\Api\Entities;
use Tygh\Api\AEntity;
use Tygh\Api\Response;
class Users extends AEntity
{
public function index($id = '', $params = array())
{
return array(
'status' => Response::STATUS_OK,
'data' => array()
);
}
public function create($params)
{
return array(
'status' => Response::STATUS_CREATED;
'data' => array()
);
}
public function update($id, $params)
{
return array(
'status' => Response::STATUS_OK,
'data' => array()
);
}
public function delete($id)
{
return array(
'status' => Response::STATUS_NO_CONTENT,
);
}
public function privileges()
{
return array(
'create' => 'create_things',
'update' => 'edit_things',
'delete' => 'delete_things',
'index' => 'view_things'
);
}
}
Важно
Если у пользователя нет привилегий на выполнение определенных действие, то в ответ на запрос будет выдана ошибка 403.