php反序列化

php反序列化
php反序列化简单的说就是魔术方法的不调用直接使用
为什么要反序列化:压缩空间,便于文件的存储
条件:存在类(class),存在魔术方法

简单理解反序列化

<?php $id=$_GET['id']; $a=serialize($id); echo $a; $b=unserialize($a); echo $b; ?>

a即为序列化后的数据,b为反序列化后的数据

魔术方法,不需要引用,在符合条件下,自动执行
__construct()//创建对象时触发 new类
__destruct() //对象被销毁时触发
__call() //在对象上下文中调用不可访问的方法时触发
__callStatic() //在静态上下文中调用不可访问的方法时触发
__get() //用于从不可访问的属性读取数据
__set() //用于将数据写入不可访问的属性
__isset() //在不可访问的属性上调用 isset()或 empty()触发
__unset() //在不可访问的属性上使用 unset()时触发
__invoke() //当脚本尝试将对象调用为函数时触发

<?php class Website{ public $name, $url, $title; public function __construct(){ echo '------这里是构造函数-__construct()
'; } public function __destruct(){ echo '------这里是析构函数-----__destruct()
'; } } $object = new Website(); echo '脚本运行结束之前会调用对象的析构函数
'; ?>

这段语句为例,新建class的时候,会直接运行__construct()函数,代码结束后会运行__destruct()函数
通过构造序列化之后的语句,插入对应文件。对应文件反序列化语句,在符合条件下,执行对应的魔术方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值