entrydo / rest-route

支持单操作演示器和HTTP方法的Nette框架路由。

v2.2.1 2018-01-14 02:03 UTC

This package is auto-updated.

Last update: 2024-09-16 10:56:03 UTC


README

支持HTTP方法的Nette单操作演示器路由。

安装

最简单的方法是通过composer composer require odbav-to/presenter-route

您需要在您的 config.neon 中注册 IndependentSingleActionPresenter 扩展

extensions:
   	- Symplify\SymfonyEventDispatcher\Adapter\Nette\DI\SymfonyEventDispatcherExtension
   	- Symplify\SymbioticController\DI\IndependentSingleActionPresenterExtension

然后您就可以开始使用了 :-).

路由

use Entrydo\RestRoute\Route;
use Nette\Application\Routers\RouteList;

$router = new RouteList();

$router[] = new Route('/', HomepagePresenter::class);

REST路由

支持GETPOSTPUTDELETEPATCHHEADOPTIONS HTTP方法。

$router[] = RestRoute::get('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::GET]);
$router[] = new RestRoute::post('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::POST]);
$router[] = new RestRoute::put('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::PUT]);
$router[] = new RestRoute::delete('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::DELETE]);
$router[] = new RestRoute::patch('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::PATCH]);
$router[] = new RestRoute::head('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::HEAD]);
$router[] = new RestRoute::options('/', HomepagePresenter::class);
// or
$router[] = new Route('/', HomepagePresenter::class, [IRequest::OPTIONS]);

对于多个HTTP方法,请使用Route和第三个参数

$router[] = new Route('/', HomepagePresenter::class, [IRequest::GET, IRequest::POST, IRequest::DELETE]);