brtriver / slim3-controller
为Slim3提供的匿名控制器和特性类
v0.1
2016-01-01 16:54 UTC
Requires
- php: >=7.0
- slim/slim: ^3.0
This package is not auto-updated.
Last update: 2024-09-14 18:09:45 UTC
README
匿名控制器和特性类为Slim3(PHP7),我们可以在PHP7中使用匿名类。因此,我使用匿名类而不是匿名函数。现在Slim3支持PSR-7接口的Request和Response对象。Slim3使用扩展对象,并在匿名函数中使用它。我们直接使用Request和Response对象,因此我尝试使用匿名类来编写控制器动作逻辑,以便于阅读性。 了解更多
但我们在使用Request和Response对象,因此我尝试使用匿名类来编写控制器动作逻辑,并且易于阅读。 了解更多
需求
- PHP 7.0或更高版本。
- Slim3
安装
通过Composer安装
composer require brtriver/slim3-controller
使用方法
你可以阅读 示例代码。
以下为示例代码:
use Brtriver\Controller\Controller; $app->get('/hello/{name}', new class($app) extends Controller { public function action($args) { return $this->render($this->container['greet'] . $args['name']); } });
- 控制器类具有以下方法和类属性。
- 方法
- action($args): 你应该在该方法中编写你的控制器逻辑。
- render($output): 辅助方法,用于以200状态渲染$ouput。
- render404($output): 辅助方法,用于以404状态渲染$ouput。
- 属性
- $this->request
- $this->response
- $this->app
- $this->container
- 方法
如果使用模板引擎(PHP或Twig等),则Templatable特性中有一个renderWithT方法可用。
use Brtriver\Controller\Controller; use Brtriver\Controller\Templatable; $app->get('/hello/{name}', new class($app) extends Controller { use Templatable; public function action($args) { return $this->renderWithT('web.html', ['name' => $args['name']]); } });
如果使用JSON响应,则JsonResponse特性中有一个renderWithJson方法可用。
use Brtriver\Controller\Controller; use Brtriver\Controller\JsonResponse; $app->get('/json/{name}', new class($app) extends Controller { use JsonResponse; public function action($args) { return $this->renderWithJson(['name' => $args['name']]); } });
许可证
slim3-controller采用MIT许可证。