PHP5 中魔术 方法 函数

20 篇文章 11 订阅
__sleep() 就表示当你执行serialize()这个序列化函数之前时的事情,就像一个回调函数,所以在这个回调函数里面我们就可以做点事情,来加密我们的某些参数值,防止序列化后,别人容易读懂。

__wakeup()  和__sleep()大同小异,只不过是反序列化之前进行的回调函数,可以用来解密我们加密的一些函数

__toString    将类转化为字符串之前调用的函数 

__construct,构造函数,在实例化一个对象时候调用

__destruct 析构函数,销毁对象时候调用

__call,当调用一个不能访问的方法时候调用

__get,当访问一个不能访问的变量时候调用

__set,当给一个不能访问的变量赋值时候调用

__isset,判断一个变量是否已经设置

__unset

__sleep,

__wakeup,

__toString,

__set_state,

__clone

__autoload

 __set_state

__invoke

class Student{
	/**
	*当实例化一个对象时候调用
	*/
	function __construct($name='default',$age=0){
		$this->name=$name;
		$this->age=$age;
	}
	/**
	*当复制一个对象时候调用
	*/
	public function __clone(){

	}
	/**
	*当调用一个不能访问的方法时候,调用
	*/
	public function __call($fnName,$args){
		echo ('调用的'.$fnName.'方法没有找到,参数:');
		var_dump($args);
	}
	/**
	*当给一个不能访问的属性赋值时候,调用
	*/
	public function __set($params,$value){
		echo ('设置'.$fnName.'属性为:'.$value.',但该属性并不存在');
	}
	/**
	*当访问一个不能访问的属性时候,调用
	*/
	public function __get($params){

	}
	/**
	*当你执行serialize()这个序列化函数之前调用,这样可以在序列化之前,对重要数据进行加密
	*/
	public function __sleep(){

	}
	/**
	*当你执行unserialize()这个反序列化函数之前调用,这样可以在反序列化之前,对加密的数据进行解码
	*/
	public function __wakeup(){

	}
	/**
	*当类的实例,即对象直接输出时候调用,如echo一个对象
	*/
	public function __tostring(){
		echo '输出对象';
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值