php _set魔术方法的用法,PHP魔术方法__GET、__SET使用实例
这篇文章主要介绍了PHP魔术方法__GET、__SET使用实例,本文在代码中做了详细的注释,需要的朋友可以参考下
__get() - 读取不可访问属性的值时,__get() 会被调用。
__set() - 在给不可访问属性赋值时,__set() 会被调用。
复制代码 代码如下:
/**
* 清晰的认识__get() __set()
*/
class Example {
//公有的属性
public $public = 'pub' ;
//受保护的 - 子类中该属性可用
protected $protected = 'pro';
//私有的 - 只能此类使用此属性
private $private = 'pri';
//当访问对象中的属性不存在或者非公有属性的时候自动加载__get()方法
public function __get($name){
return '调用__get()方法:'.$name;
}
//当给对象的一个属性赋值的时候如果该属性不存在或者是非公有属性则自动加载__set()方法
public function __set($name,$value){
echo "\nname:".$name.',value:'.$value."\n";
}
}
$example = new Example;
echo '
';
echo $example->public."\n";
echo $example->protected."\n";
echo $example->private."\n";
echo $example->other."\n";
echo '
';
$example->public = 'lic'; //这个赋值成功所有没有显示
$example->protected = 'tec';
$example->private = 'vat';
$example->other = 'er';
echo '
';
echo '打印 public 属性:'.$example->public;
结果如下:
复制代码 代码如下:
pub
调用__get()方法:protected
调用__get()方法:private
调用__get()方法:other
name:protected,value:tec
name:private,value:vat
name:other,value:er
打印 public 属性:lic
,
php _set魔术方法的用法,PHP魔术方法__GET、__SET使用实例相关推荐
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __uns
1.__get.__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的 __get( $property ) 当调用一个未定义的属性时访问此方法 __set( $property, $va ...
- php魔术方法例子,PHP中魔术方法的使用举例
本文小编将就PHP中的魔术方法的使用做简要叙述附带代码,感兴趣的小伙伴可以看看! 什么是"魔术方法"? 在PHP中以两个下划线开头的方法,__construct(), __dest ...
- PHP中魔术方法的用法
PHP中魔术方法的用法 /** PHP把所有以__(两个下划线)开头的类方法当成魔术方法.所以你定义自己的类方法时,不要以 __为前缀. * */// __toString.__set.__get__ ...
- php魔术方法get,PHP魔术方法之__get,__set详解(代码实例)
本文目标: 1.了解PHP中魔术方法的定义 2.了解__get()魔术方法的使用场景 3.掌握__get()魔术方法的用法 4.了解__set()魔术方法的使用场景 5.掌握__set()魔术方法的用 ...
- php魔术方法 效率,PHP常用魔术方法的性能探究
性能往往是衡量代码很重要的一个标准.我们日常编码中经常会用到一些魔术方法,这些PHP提供的魔术方法是否会影响我们程序的性能呢?是否需要减少魔术方法 的使用呢?本文将通过测试对比来了解魔术方法对性能的影 ...
- Python的面向对象,魔术方法、类的三大特征、自省、实例空间、经典类与新式类
目录 1.什么是面向对象 1.1 面向过程 1.2 面向对象 1.3 面向对象的优点 2.类 2.1 什么是类.对象,方法和属性 2.2 类的定义和使用 2.2.1 类名规范和类的写法 2.3 魔术方 ...
- php 魔术方法调用,php魔术方法调用(php魔法方法)
1.理解PHP中神奇方法的定义 2.了解__clone()魔术方法的使用场景 3.掌握__clone()魔术方法的用法 PHP将所有以_ _(两个下划线)开头的类方法保留为神奇的方法.因此,在定义类方 ...
- python魔术方法print_Python中的魔术方法入门
介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",中文称『魔术方法』,例如类的初始化方法 __init__ ,P ...
- python描述符魔术方法_Python类型转换的魔术方法详解
本文讨论python中将某个复杂对象转换为简单对象或数据类型的常用魔术放啊,这些在编程中是十分有用的. 1.__str__方法. 在讲解本方法前我们先打开一个jupyter notebook,随意创建 ...
最新文章
- JAVA基础——编程练习(一)
- 程序员转型人工智能工程师,如何在百忙之中不走岔路
- python信息管理系统统计功能_用Python实现职工信息管理系统
- boost::units模块实现展示信息单元系统
- 前端学习(2717):重读vue电商网站37之通过switch开关更改用户状态
- Instant类的使用
- HDU 6188 Duizi and Shunzi
- Python AI和机器学习库
- 好好学习 天天编程—C语言之环境搭建(一)
- eclipse 返回上一个选项卡、注释及取消注释 、大写变小写、 光标跳到下一行快捷键
- 关于弱电工程图纸的几个常见问题
- 【数据库】Oracle更改时间显示格式
- 怎么修改打印机服务器权限,Win7怎么设置网络打印机管理权限?
- Apache Tomcat 文件包含漏洞(CNVD-2020-10487,对应 CVE-2020-1938)
- node-red与西门子PLC通信
- nodejs---console.log()控制台打印
- C语言基础教学——认识C语言(第一课)
- 软件和硬件的质量曲线
- (三)java流程控制语句
- 知识图谱构建(入门)
热门文章
- 20211006 线性变换
- Bridge 、 Adapter 和 Facade 的区别
- caffe中通过prototxt文件查看神经网络模型结构的方法
- Martini源码剖析
- bzoj4665小w的喜糖 dp+容斥
- Codeforces #440.Div.2
- WARNING: The host '$hostname' could not be looked up with resolveip. (转)
- 让你提前知道软件开发(44):如何解决软件故障?
- Socket网络编程--小小网盘程序(4)
- [视频]怎样提升asp.net mvc 软件的性能 - 微软免费视频Improving ASP.NET MVC Application Performance...