\App\ControllersAdmins

示例后台控制器:展示 Attribute 与 DocBlock 两种方式 # [Auth(roles: ['admin'])] ,require 模式是true,如果设置false,则匿名访问

注意:

  • 推荐使用 PHP8 Attribute(Auth / Menu)
  • 保留 DocBlock (@auth / @menu) 以兼容旧代码或脚本扫描@#auth true

@#auth true @#role super 控制器级别示例:将整个控制器默认标记为后台菜单项(可选)

Summary

Methods
Properties
Constants
__construct()
index()
show()
store()
update()
destroy()
getHotList()
getConfig()
test()
register()
testadmin()
contentManager()
legacyAdmin()
userList()
publicInfo()
publicData()
No public properties found
No constants found
initialize()
success()
fail()
error()
input()
insertInput()
inputFilter()
formatSelect()
formatNormal()
formatTree()
selectInput()
buildWhereConditions()
inject()
parseInjectionMeta()
resolveDependency()
$request
$db
$service
$serviceClass
$validator
$prefixes
$injectionMetaCache
$userService
$logger
$req
N/A
No private methods found
No private properties found
N/A

Properties

$request

$request : \Symfony\Component\HttpFoundation\Request

Type

\Symfony\Component\HttpFoundation\Request

$db

$db : \Framework\Database\DatabaseFactory

Type

\Framework\Database\DatabaseFactory

$service

$service : object

Type

object

$serviceClass

$serviceClass : string

Type

string

$validator

$validator : ?object

Type

?object

$prefixes

$prefixes : array

Type

array

$injectionMetaCache

$injectionMetaCache : array

反射元数据缓存,避免重复反射同一个类 格式: [ ClassName => [ [property_name, attribute_instance, type_name], ... ] ]

Type

array

$userService

$userService : \App\Services\UserService

Type

UserService

$req

$req : \Symfony\Component\HttpFoundation\Request

Type

\Symfony\Component\HttpFoundation\Request

Methods

__construct()

__construct() : mixed

Returns

mixed —

index()

index(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

公共列表页 —— 无需登录(默认不带 #[Auth])

DocBlock 说明示例(可选):

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

show()

show(\Symfony\Component\HttpFoundation\Request  $request) : mixed

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

mixed —

store()

store(\Symfony\Component\HttpFoundation\Request  $request) : mixed

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

mixed —

update()

update(\Symfony\Component\HttpFoundation\Request  $request) : mixed

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

mixed —

destroy()

destroy(\Symfony\Component\HttpFoundation\Request  $request) : mixed

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

mixed —

getHotList()

getHotList() : \Symfony\Component\HttpFoundation\JsonResponse

Returns

\Symfony\Component\HttpFoundation\JsonResponse —

getConfig()

getConfig() : \Symfony\Component\HttpFoundation\JsonResponse

Returns

\Symfony\Component\HttpFoundation\JsonResponse —

test()

test(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

创建新产品 vvv1/admins/add?page=11 && /Admins/test

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

register()

register(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\JsonResponse

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\JsonResponse —

testadmin()

testadmin(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

contentManager()

contentManager(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

旧 DocBlock 注解示例 兼容写法 旧式的写法,role admin,super 用,隔开,不能用其他符号

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

legacyAdmin()

legacyAdmin(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

后台管理入口

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

userList()

userList(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

方法级 Attribute(推荐) - 需要登录 - 只允许 roles = ['admin', 'super'] - 注册为菜单项:用户管理

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

publicInfo()

publicInfo(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

覆盖类级别或路由级别的 Auth 配置:允许匿名访问(required: false)

这里用 Attribute 显式标明不需要认证,示范 method-level 覆盖

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

publicData()

publicData(\Symfony\Component\HttpFoundation\Request  $request) : \Symfony\Component\HttpFoundation\Response

方法级覆盖:关闭认证

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

\Symfony\Component\HttpFoundation\Response —

initialize()

initialize() : void

子类可根据需要覆盖 lifecycle.

success()

success(mixed  $data = [], string  $msg = 'success') : \Framework\Basic\BaseJsonResponse

返回成功 JSON.

Parameters

mixed $data
string $msg

Returns

\Framework\Basic\BaseJsonResponse —

fail()

fail(string  $msg = 'error', int  $code = 1) : \Framework\Basic\BaseJsonResponse

返回失败 JSON.

Parameters

string $msg
int $code

Returns

\Framework\Basic\BaseJsonResponse —

error()

error(string  $msg = 'server error') : \Framework\Basic\BaseJsonResponse

服务端错误.

Parameters

string $msg

Returns

\Framework\Basic\BaseJsonResponse —

input()

input(string  $key, mixed  $default = null, bool  $filter = true) : mixed

获取请求参数,并支持可选的 XSS 过滤.

Parameters

string $key

参数名

mixed $default

默认值

bool $filter

是否开启 XSS 过滤(默认开启)

Returns

mixed —

insertInput()

insertInput(\Symfony\Component\HttpFoundation\Request  $request) : array

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

array —

inputFilter()

inputFilter(array  $data, array  $skipKeys = []) : array

Parameters

array $data
array $skipKeys

Returns

array —

formatSelect()

formatSelect(mixed  $list, int  $total) : mixed

Parameters

mixed $list
int $total

Returns

mixed —

formatNormal()

formatNormal(mixed  $list, int  $total) : mixed

Parameters

mixed $list
int $total

Returns

mixed —

formatTree()

formatTree(mixed  $items) : mixed

Parameters

mixed $items

Returns

mixed —

selectInput()

selectInput(\Symfony\Component\HttpFoundation\Request  $request) : array

Parameters

\Symfony\Component\HttpFoundation\Request $request

Returns

array —

buildWhereConditions()

buildWhereConditions(array  $params, array  $allowColumns) : array

Parameters

array $params
array $allowColumns

Returns

array —

inject()

inject() : void

执行依赖注入

parseInjectionMeta()

parseInjectionMeta(string  $className) : array

解析类的属性元数据

Parameters

string $className

Returns

array —

resolveDependency()

resolveDependency(object  $attr, ?string  $type) : mixed

根据注解类型解析依赖

Parameters

object $attr
?string $type

Returns

mixed —