__set($key,$val) 对类内私有属性赋值
  作用:对私有属性的处理
当在类外对类内的私有属性赋值时会自动调用此函数

__get($varName) 读取类内私有属性

  作用:虽然可以外部访问,但有限制条件,否则直接public即可,不需要私有化此属性
    根据限制条件 开放访问权限
  当对象调用类内私有属性时调用此方法
  必须有返回值 return $this->$varName

class A{
private $name;
private $age;
function __set($key,$values){
$this->$key=$values; }
function __get($varName){
if(trim($_SESSION['utype'])=='teacher'){
return $this->$varName;
}else{
return "保密";
} } }
$a=new A();
$a->name="jack";

  

 

__set($key,$values) 和__get($varName) 魔术方法设置读取私有属性的更多相关文章

  1. php 魔术方法,未声明属性,数组的注释 - 帮助ide跳转,提高可读性

    本人使用vscode编辑器.其他编辑器未测试. 经过1: 用laravel开发了一段时间,最麻烦的一点就是许多时候编辑器无法智能提示和辅助跳转. 有一款ide-helper的插件,感觉不是很好用,经常 ...

  2. js 对象方法、类方法、原型方法的区别;私有属性、公有属性、公有静态属性的区别

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. java反射调用私有方法和修改私有属性

    //调用私有方法package com.java.test; public class PrivateMethod { private String sayHello(String name) { r ...

  4. 使用jQuery的".css()"和".attr()"方法设置元素"left"属性的注意点

    今天在使用jQuery方法".css()"设置"ajax-loader.gif"的位置时出了点小状况,关键代码如下(为了简化,这里假定要给"ajax- ...

  5. php -- 魔术方法 之 设置属性:__set()

    属性重载:当访问一个不存在或者权限不够的属性的时候,能够触发一系列的魔术方法,就叫做属性重载 __set():当用户在设置不存在或者权限不够的属性的时候会自动触发 没有设置__set($name,$v ...

  6. php -- 魔术方法 之 获取属性:__get()

    属性重载:当访问一个不存在或者权限不够的属性的时候,能够触发一系列的魔术方法,就叫做属性重载 __get():获取不存在或者权限不够的属性的时候会自动触发 <?php header('Conte ...

  7. __set(),__get() 魔术方法示例

    <?php class Ren{private $name;private $age;private $sex;function __set($name,$value){ if($name == ...

  8. __set()与__get() 魔术方法

    在面向对象编程的过程中,对于类当中的各个成员变量,都有不同的访问属性,比如公有的(public)属性,在类内部和类外部都可直接调用:而私有的(private)和受保护的(protected),在类外不 ...

  9. php中的常用魔术方法总结

    以下是对php中的常用魔术方法进行了详细的总结介绍,需要的朋友可以过来参考下 常用的魔术方法有:__Tostring () __Call() __autoLoad() __ clone() __GET ...

随机推荐

  1. zzuoj 10407: B.最大岛屿

    10407: B.最大岛屿 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 12  Solved: 5[Submit][Status][Web Board ...

  2. tomcat+spring+https

    由于开发的接口需要ios调用,而ios即将只支持https,所以最近研究了一下,将成果放在这里记录一下: .配置tomcat的https: 原文链接:http://jingyan.baidu.com/ ...

  3. sublime 汉化及注册

    首先安装 package control https://packagecontrol.io/installation 网站上面有详细说明 安装以后快捷键 ctrl +shift+p   输入ip  ...

  4. iOS UITextField 输入字数限制的实现

    首先你的ViewController需要实现 UITextFieldDelegate 代理, 其次,需要字数限制的UITextField实例的代理要设置成 self(ViewController) 然 ...

  5. Android-Unable to resolve target 'android-8'

  6. 解析xlsx与xls--使用2012poi.jar

    1.导入Jar包:poi-3.8-20120326.jar.poi-ooxml-3.8-20120326.jar.poi-ooxml-schemas-3.8-20120326.jar.xbean.ja ...

  7. 采用subversion管理iOS资源

    1.装和配置subversionserver  在windows server上安装VisualSVN-Server.下载地址http://www.visualsvn.com/server/downl ...

  8. Java IO流学习总结(转)

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  9. NDK开发之Application.mk文件详解

    做过NDK开发的同学应该都知道有个Application.mk文件,这是android NDK构建系统使用的一个可选构建文件.它的目的是描述应用程序需要哪些模块,也定义了所有模块的一些通用变量.主要有 ...

  10. Google Map API v2 (四)----- 导航路径

    仍然是建议个异步小任务 private GetPathTask mGetPathTask = null; private void getGuidePath(LatLng origin){ if(mG ...