“一般来说,总是把类的属性定义为private,这更符合现实的逻辑。

但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,以及检查属性的“__isset()”和删除属性的方法“__unset()”。

我们为每个属性做了设置和获取的方法,在PHP5中给我们提供了专门为属性设置值和获取值的方法,“__set()”和“__get()”这两个方法,这两个方法不是默认存在的,而是我们手工添加到类里面去的,像构造方法(__construct())一样,类里面添加了才会存在,可以按下面的方式来添加这两个方法,当然也可以按个人的风格来添加:“

//拦截器的使用

class Computer{

private $name;

private $price;

private $cpu;

private $clocked;

//拦截器之赋值

public function __set($key,$value){

//那么:$key=name $value="联想" 则有: $this->name="联想"

return $this->$key=$value;

}

//拦截器之取值

public function __get($key){

if (isset($key)){

//那么: $key=name 则$this->name 所以自然就return了"联想"

return $this->$key;

}else {

return NULL;

}

}

}

//正是因为的拦截器存在,才能如此用

$computer=new Computer();

$computer->name="联想";

$computer->price=5600;

$computer->cpu="八核";

$computer->clocked="1600hz";

echo $computer->name;

echo $computer->price;

echo $computer->cpu;

echo $computer->clocked;

以上就是小编为大家带来的浅谈PHP拦截器之__set()与__get()的理解与使用方法全部内容了,希望大家多多支持脚本之家~

php set get 作用_浅谈PHP拦截器之__set()与__get()的理解与使用方法相关推荐

  1. (实用篇)浅谈PHP拦截器之__set()与__get()的理解与使用方法

    "一般来说,总是把类的属性定义为private,这更符合现实的逻辑. 但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数"__get()"和&q ...

  2. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  3. python生成器和迭代器作用_浅谈Python中的生成器和迭代器

    迭代器 迭代器协议 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么返回一个异常来终止本次迭代.(只能往前走,不能往后退!) 迭代器对象 遵循了(实现了)迭代器协议的对象.(对象内 ...

  4. 外架小横杆外露长度规范要求_浅谈提高悬挑架质量、安全及视觉效果的管理方法...

    摘 要:随着高层建筑日趋增多,脚手架在施工时是必不可少的,而悬挑式脚手架由于不受层高和场地限制的特点在高层建筑施工中被广泛应用.相对于落地式钢管脚手架,悬挑式脚手架具有投入低.周转快.节约工期等优点. ...

  5. java string的作用_浅谈java String不可变的好处

    一.java内部String类的实现: java 8: public final class String implements java.io.Serializable, Comparable, C ...

  6. java 监听器作用_浅谈java监听器的作用

    监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特 ...

  7. 谈谈对python的理解_浅谈对python pandas中 inplace 参数的理解

    这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有, ...

  8. 《计算机辅助教学及应用实践研究》,《论文_浅谈计算机辅助教学(定稿)》

    <论文_浅谈计算机辅助教学(定稿)> (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 摘要:计算机辅助教学中要用到多媒体课件 ...

  9. python判断两个对象是否为相等使用的运算符是_Python入门_浅谈逻辑判断与运算符...

    这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...

  10. 浅谈blackfin537处理器中sport口时分复用的理解

    浅谈blackfin537处理器中sport口时分复用的理解 基于自动缓冲DMA模式下的Sport口的多通道操作   农民伯伯 zhangtaolaosan3@126.com 1, 基础知识 在给出例 ...

最新文章

  1. [心跳] 使用心跳机制实现CS架构下多客户端的在线状态实时更新以及掉线自动重连...
  2. 以实用著称的《PHP与MySQL程序设计(第3版)》问世啦!
  3. Python学习笔记:Web后端开发一览
  4. [Jobdu] 题目1214:丑数
  5. java set类_java中set类型集合解析(一)
  6. 机器学习 综合评价_PyCaret:机器学习综合
  7. GitHub基础——下载和上传
  8. SQL SERVER 2014 安装图解(含 SQL SERVER 2014 安装程序共享)
  9. Spring Cloud 服务消费者 rest+ribbon (二)
  10. 2021年,开发者们如何拥抱 5G 消息?
  11. HashMap源码剖析(代码基于JDK11)
  12. [GUET-CTF2019]re-[SUCTF2019]SignIn-相册-[ACTF新生赛2020]usualCrypt
  13. 【H5即时通讯系统PHP源码】支持嵌入+单聊+群聊+可单独封装APP
  14. 5G端到端时延要求1ms是个什么概念?
  15. 跟狗屎一样的代码,到底该如何重构?
  16. 南卡和OPPO蓝牙耳机哪个更好?高性价比蓝牙耳机评测
  17. C# 模拟鼠标点击(鼠标按键损坏,辅助工具)
  18. 【opencv】【python】libpng warning: iCCP: known incorrect sRGB profile 解决
  19. GIS开发学习推荐书目
  20. 信号完整性之Ansys SIwave_S参数提取(四)

热门文章

  1. linux用户个人的环境变量,linux下的变量以及系统和个人环境变量的配置文件
  2. redis监控工具_企业级别Redis监控,细化到每个项目实例
  3. js常用循环遍历方法
  4. 1133 Splitting A Linked List
  5. 实践出真知:微服务经验之避坑指南
  6. lamp搭建wordpress后升级安装主题,提示输入ftp账号密码
  7. java获取当前路径的几种方法
  8. com.alibaba.dubbo.rpc.RpcException: Since you are
  9. 动态生成WizardPage
  10. Linux将文件复制粘贴到另外一个位置