| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | <?phpnamespace app\admin\attr;use Attribute;#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD)]class Permission{    /**     * 权限值     */    public $value;    /**     * 仅对方法生效!是否忽略权限要求     */    public $ignore;    /**     * 继承controller的权限, 例如controller设置了权限值'admin', 方法设置了权限值'create', 那么实际权限值为'admin.create'     * 如果在controller上设为true,那么当方法没有设置该注解时,而且useMethodName设置为了true,会自动使用方法名作为继承值     * 如果在controller上设为false,只使用控制器的权限值     */    public $inherit;    /**     * 仅对controller生效!     * true: 权限值为空时使用方法名作为权限值     * false: 权限值为空时,使用控制器名小写作为权限值     * @see \InvalidArgumentException     */    public $useMethodName;    /**     * __construct     *     * @param string $value 权限值     * @param bool $ignore 仅对方法生效!是否忽略权限要求     * @param bool $name 继承controller的权限, 例如controller设置了权限值'admin', 方法设置了权限值'create', 那么实际权限值为'admin.create'     * @param bool $useMethodName 仅对controller生效!true: 权限值为空时使用方法名作为权限值; false: 权限值为空时,使用控制器名小写作为权限值     * @see \InvalidArgumentException     */    public function __construct($value = '', $ignore = false, $inherit = true, $useMethodName = true)    {        $this->value = $value;        $this->ignore = $ignore;        $this->inherit = $inherit;        $this->useMethodName = $useMethodName;    }}
 |