通过PHP自定义函数实现非常简单的权限分配

前几天就准备重新设计一下轻博客的权限功能,最初的权限功能已经不能满足网友的需求,于是今天就重新制作了一个权限分配功能,可以实现自由添加管理等级,个人感觉还行吧。

php自定义函数权限代码

//自定义权限函数
//$name 功能名称(ps:就是通过它对比下面权限数组中的值,已达到权限判断目的)
//$id 用户权限等级,
function xmadmin(string $name,$id = 1){

//注意这里不能为空值或者‘0’等
$id = (int) $id ?? 0;

$name = $name ?? null;

//判断传递过来的值是否为空值
if ($id == 0 || $id == '' || $name == null || $name == ''){

return false;

}

//权限数组,通过下面的数组可以分配权限功能
$permission=array(

//超级管理员
'1'=>array(

//后台
'admin',

//插件
'plugin',

//评论
'ping',

//数据
'shu',

//设置
'config',

//模板
'tplm',

//缓存
'tpl',

//日志
'ri',

//用户
'user',

//新增
'useri',
),

//管理员
'2'=>array(

//后台
'admin',

//插件
'plugin',

//设置
'config',

//用户
'user',

),

//总编辑
'3'=>array(
//后台
'admin',

//评论
'ping',
),
);

$qx = $permission[$id] ?? false;

//判断权限数组是否存在相关职位
if ($qx == false){
return false;
}

//判断权限数组中的相关职位是否有相关权限
if (in_array($name,$qx) === true){
return true;
}
return false;
}

使用方法

//判断插件功能是否有权限,没有权限为“false”,有权限为“true”,其中的“plugin”为需要判断功能名称(对应上面权限数组的值)
if (xmadmin('plugin') == false){

echo '抱歉,你的权限等级不足。';

}

Related Post

发表回复