复制代码
-
- class user{
- private $shell ; //用户身份 这里是包含名字 和 权限的二维数组
- private $ob; //模块对象 例如 财务模块 caiwu
- function __construct($shell){
- $this->shell = $shell;
- }
- function mannger($ob){
- $this->ob = new $ob($this->shell);
- }
- function qianguize(){
- $this->shell[name] != '小蜜'? die('你不是小蜜无法潜规则!') :'';
- $this->ob = new mklove($this->shell);
- }
- }
- class caiwu{
- function __construct($shell){
- if(!in_array('caiwu',$shell[quanxian])) {
- echo($shell[name]."你不可以管理财务哦~!
");
- }else{
- echo $shell[name]."你可以管理财务
";
- }
- }
- }
- class mklove{
- function __construct (&$shell){
- if(!in_array('mklove',$shell[quanxian])) die('你不可以和小蜜做爱!');
- echo "爽……%¥#**……%#@@!
";
- $shell[quanxian][]='caiwu';
- }
- }
-
- /*
- 其中user 是用户类
- caiwu 是财务类 类似的 我们可以做很多 供user 执行的模块 好比现实中的业务一样!
- */
- $shell = array(name=> '经理', quanxian=>array('caiwu','xingzheng','cailiao','mklove'));
- //这是经理的权限:他拥有 财务、行政、材料、做爱 四个模块的权限 注:包含了财务
- $shell0 = array(name=> '小蜜', quanxian=>array('cailiao','mklove')) ;
- //这是经理小蜜的原始权限: 她只拥有管理材料的权限 注:不包含了财务
-
- //好了 我们现在开始实例化 对象 就跟上帝造人一样!
- $jingli = new user($shell) ; //经理造好了
- $xiaomi = new user($shell0) ; //小蜜也造好了
-
- //现在让他们试着去管理财务~
- echo "
他们分别试着去管理财务 ";
- $jingli->mannger('caiwu') ; //经理管理财务 这个显然是可以的
- $xiaomi->mannger('caiwu') ; //小蜜想拿账房的钱,那显然是不被允许的!
-
- //小蜜很不甘心,她决定用潜规则来获得财务权
- echo "
潜规则后的结果 ";
- $xiaomi->qianguize(); //小蜜用潜规则获得了财务大权
- $xiaomi->mannger('caiwu') ;
- ?>
|
运行结果:
引用
他们分别试着去管理财务
经理你可以管理财务
小蜜你不可以管理财务哦~!
潜规则后的结果
爽……%¥#**……%#@@!
小蜜你可以管理财务
面向对象最强大之处是用客观世界的规则来构建代码!
平时多联系实际,多动手写,你会发现编程是这样的强大,而你就是整个世界的主宰,在编程的世界里,你就是上帝!快动手创造世界吧!
因为有PHP,哥不再寂寞,因为面向对象,哥不是传说,而是上帝!