阅读时间:1 分钟
0 字
控制器开发
后台接口推荐使用资源控制器(Resources)。
资源控制器
php
#[Resource(app: 'admin', route: '/system/user', name: 'system.user')]
class User extends Resources
{
protected string $model = SystemUser::class;
public function queryMany(Builder $query, ServerRequestInterface $request, array $args): void
{
$params = $request->getQueryParams();
if ($params['keyword']) {
$query->where('nickname', 'like', '%' . $params['keyword'] . '%');
}
}
public function transform(object $item): array
{
return [
'id' => $item->id,
'nickname' => $item->nickname,
];
}
}自定义 Action
php
#[Action(methods: 'GET', route: '/permission')]
public function permission(ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
// ...
}校验与格式化
validator():负责校验规则format():负责字段映射(避免业务逻辑)