1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace 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;
- }
- }
|