PHP常用魔术方法(__set、__get魔术方法:)
__set、__get魔术方法:
//文件名:Object.php
<?php
namespace IMooc;
class Object
{
protected $array = array();
function __set($name, $value)//set魔术方法
{
var_dump(__METHOD__);//输出当前方法 $this->array[$name]=$value;//$name=title,$value="哎哟喂"
}
function __get($name)//get魔术方法
{
var_dump(__METHOD__);//输出当前方法
return $this->array[$name];
}
}
//文件名:index.php
<?php
define('a',__DIR__);
include '/IMooc/Loader.php';
spl_autoload_register('\\IMooc\\Loader::autoload');
$Object = new \IMooc\Object();
$Object->title="哎哟喂";//当对不存在属性进行赋值时,它会调用__set魔术方法
echo $Object->title;//当读取对象不存在属性时,会调用__get魔术方法
/*输出:
string(19) "IMooc\Object::__set"
string(19) "IMooc\Object::__get"
哎哟喂
*/
PHP常用魔术方法(__set、__get魔术方法:)的更多相关文章
- PHP的魔法方法__set() __get()
php的魔法方法__set()与__get() Tags: PHP 我们先来看看官方的文档如何定义他们的: public void __set(string $name, mixed $value); ...
- __set(),__get() 魔术方法示例
<?php class Ren{private $name;private $age;private $sex;function __set($name,$value){ if($name == ...
- php之魔术方法 __set(),__get(),__isset(),__unset()
__set()与__get() 当一个类里面,属性被设置为私有属性时,这个属性是不能在外部被访问的.那么当我们又想在外部访问时该怎么办呢,我们可以用方法来实现.举例如下: 1 class Test 2 ...
- PHP 魔术方法__set() __get() 方法
a); //output: 123 var_dump($s->b); //output: 123 var_dump($s->c); //output: null var_dump($s-& ...
- php魔术方法__SET __GET
__SET 设置一个不可访问的属性的时候 调用_set方法 __GET 获取一个不可访问的属性的时候 调用_get 方法 <?php class stu{ private $a; priva ...
- PHP 魔术方法__set() __get() 方法详解
__set() is run when writing data to inaccessible properties. __get() is utilized for reading data fr ...
- PHP面向对象魔术方法之__get 和 __set函数
l 基本的介绍 (1) 当我们去使用不可以访问的属性时,系统就会调用__get方法. (2) 不可以访问的属性指的是(1 . 该属性不存在 2. 直接访问了protected或者private属性) ...
- __set()与__get() 魔术方法
在面向对象编程的过程中,对于类当中的各个成员变量,都有不同的访问属性,比如公有的(public)属性,在类内部和类外部都可直接调用:而私有的(private)和受保护的(protected),在类外不 ...
- 巧用PHP中__get()魔术方法
PHP中的魔术方法有很多,这些魔术方法可以让PHP脚本在某些特定的情况下自动调用.比如 __construct() 每次实例化一个类都会先调用该方法进行初始化.这里我们讲一下__get() 魔术方法的 ...
随机推荐
- 分布式内存对象缓存 memcached
分布式内存对象缓存 许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示.但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等 ...
- delphi算法
/ 求余 mod 取模 var a1,a2,a3 : Integer; b1,b2,b3 : Integer; c1,c2 : Integer;begin a1 := 987; //ShowMess ...
- C++ primer 中文第三版 阅读笔记 第八章
一.寄存器对象: 函数中频繁被使用的变量可以加上register就可声明为寄存器对象.对于寄存器对象,假如能够放到寄存器中就会放到寄存器中,放不到的话就放到内存中.比如 register int a ...
- [React] Extracting Private React Components
we leverage private components to break our render function into more manageable pieces without leak ...
- .NET2.0下的对象生成JSON数据
前言:今天研究了下在.NET2.0环境下开发Ajax程序经常用到的一个数据类型JSON, 一.什么是JSON? 自己也写不了句子不是很专业,下面是百度百科的关于JSON的介绍: JSON(JavaSc ...
- Log4Qt使用(三)在DailyRollingFileAppender类中增加属性mMaxBackupIndex
在Log4Qt中存在一个比较大的问题,当使用 DailyRollingFileAppender对日志进行输出时,会无限输出文件,也就是说,当系统运行很久时,日志文件有可能很大,大到无法想象.因此,很多 ...
- 设置开机启动时指定非ROOT用户执行相应的脚本
[root@MSJTVL-MJSP-A01 sm01]# vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *afte ...
- Java_观察者模式(Observable和Observer) -转
原文地址: Java_观察者模式(Observable和Observer) 一.观察者模式介绍 在Java中通过Observable类和Observer接口实现了观察者模式.一个Observer ...
- uva12489 Combating cancer(树同构)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud https://uva.onlinejudge.org/index.php?opt ...
- ON UPDATE CURRENT_TIMESTAMP
CREATE TABLE time1 ( id SMALLINT, time1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TI ...