<?php
namespace app\controllers;
use YII;
use app\controllers\BaseController;
class UserController extends BaseController
{
public function actionUpd()
{
$id = YII::$app->request->get('id', 0);
echo 'user id : ', YII::$app->user->id, '<br>';
//先判断用户有没有只能修改自已的权限
if (YII::$app->user->can('user/upd/updSelf')) {
//然后再判断修改ID是否与自已的ID一样,在UserUpdSelfRule里进行判断
if (YII::$app->user->can('user/upd/updSelf', ['id' => $id])) {
echo '有权修改自已';
} else {
echo '不能修改除自已以外的';
}
} else {
echo '修改所有';
}
}
public function actionDel()
{
echo 'user id : ', YII::$app->user->id, '<br>';
echo 'user del';
}
public function actionList()
{
echo 'user id : ', YII::$app->user->id, '<br>';
echo 'user list';
}
public function actionAdd()
{
echo 'user id : ', YII::$app->user->id, '<br>';
echo 'user add';
}
}
我的用户表里有两个用户

分别登陆这两个用户,然后让他们访问user/add,user/del,user/list,user/upd,结果如下:
admin用户状态如下:

test用户状态如下:

test之所以能够访问user/upd是因为我们把user/upd/updSelf设为了user/upd的父级,如果没有设置,这里是会被拦住的。
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
