class LEI
{
private static $conn;
public function __clone(){
trigger_error('Clone is not allowed !');
}
public static function Init(){
if(!(self::$conn instanceof self)){
self::$conn = new self;
}
return self::$conn;
}
private function __construct(){
}
private function __call($func, $args){
$right = $this->Check($_SESSION['RIGHT'],$func);
if($right){
call_user_func_array(array(__CLASS__,$func),$args);
}else{
echo "<br>UserId:".$_SESSION['RIGHT']."<br>FunctionName:".$func."<br>status:no right!!!";
}
}
private function admin(){
echo "<br>I'm admin!!!";
}
private function visitor(){
echo "<br>I'm visitor!!!";
}
private function Check($user,$func){
switch ($user)
{
case 0:
$arr = array('admin','visitor');
break;
case 1:
$arr = array('visitor');
break;
case 3:
break;
default:
$arr = array();
}
return in_array($func, $arr);
}
}
$_SESSION['RIGHT']=1;
LEI::Init()->admin();
LEI::Init()->visitor();
PHP权限控制解决方案(控制到函数为止)
最新推荐文章于 2021-12-26 22:18:10 发布