酷秀博客
首页/通过PHP自定义函数实现非常简单的权限分配教程

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

admin的头像admin8个月前教程122热度

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

php自定义函数权限代码

//自定义权限函数<br />
    //$name 功能名称(ps:就是通过它对比下面权限数组中的值,已达到权限判断目的)<br />
    //$id 用户权限等级,<br />
    function xmadmin(string $name,$id = 1){<br />
        <br />
        //注意这里不能为空值或者‘0’等<br />
        $id = (int) $id ?? 0;<br />
        <br />
        $name = $name ?? null;<br />
        <br />
        //判断传递过来的值是否为空值<br />
        if ($id == 0 || $id == '' || $name == null || $name == ''){<br />
            <br />
            return false;<br />
            <br />
        }<br />
        <br />
        //权限数组,通过下面的数组可以分配权限功能<br />
        $permission=array(<br />
        <br />
        //超级管理员<br />
        '1'=>array(<br />
        <br />
        //后台<br />
            'admin',<br />
            <br />
        //插件<br />
            'plugin',<br />
            <br />
        //评论<br />
            'ping',<br />
            <br />
        //数据<br />
            'shu',<br />
            <br />
        //设置<br />
            'config',<br />
            <br />
        //模板<br />
            'tplm',<br />
            <br />
        //缓存<br />
            'tpl',<br />
            <br />
        //日志<br />
            'ri',<br />
            <br />
        //用户<br />
            'user',<br />
            <br />
        //新增<br />
            'useri',<br />
        ),<br />
        <br />
        //管理员<br />
        '2'=>array(<br />
    <br />
        //后台<br />
            'admin',<br />
            <br />
        //插件<br />
            'plugin',<br />
            <br />
        //设置<br />
            'config',<br />
            <br />
        //用户<br />
            'user',<br />
    <br />
        ),<br />
        <br />
        //总编辑<br />
        '3'=>array(<br />
        //后台<br />
            'admin',<br />
    <br />
        //评论<br />
            'ping',<br />
            <br />
        ),<br />
    );<br />
    <br />
        $qx = $permission[$id] ?? false;<br />
        <br />
        //判断权限数组是否存在相关职位<br />
        if ($qx == false){<br />
            <br />
            return false;<br />
            <br />
        }<br />
        <br />
        //判断权限数组中的相关职位是否有相关权限<br />
        if (in_array($name,$qx) === true){<br />
            <br />
            return true;<br />
        }<br />
        <br />
        return false;<br />
    }<br />
<br />
```<br />
<br />
**使用方法**<br />
<br />
```<br />
<br />
    //判断插件功能是否有权限,没有权限为“false”,有权限为“true”,其中的“plugin”为需要判断功能名称(对应上面权限数组的值)<br />
    if (xmadmin('plugin') == false){<br />
    <br />
    echo '抱歉,你的权限等级不足。';<br />
    <br />
    }<br />
签名: 最忠诚的BUG开发者来自: 重庆市. Chrome浏览器
文章目录