php 魔术方法 sleep,php 魔术方法 sleep() wakeup()

__sleep() 和 __wakeup()

public array __sleep ( void )

void __wakeup ( void )

serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组。如果该方法未返回任何内容,则 NULL 被序列化,并产生一个 E_NOTICE 级别的错误。

示例: class user { public $name; public $id; function __construct() { // 给id成员赋一个uniq id $this->id = 'asas'; } function __sleep() { //此处不串行化id成员 return(array('name')); } function __wakeup() { $this->id = uniqid(); }}$u = new user();$u->name = "Leo";$s = serialize($u); //serialize串行化对象u,此处不串行化id属性,id值被抛弃$u2 = unserialize($s); //unserialize反串行化,id值被重新赋值//对象u和u2有不同的id赋值print_r($u);print_r($u2);

结果:

user Object ( [name] => Leo [id] => asas ) user Object ( [name] => Leo [id] => 5621ed9f6614c )

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 先入先出,java_阻塞队列(FIFO先进先出)

java_阻塞队列(FIFO先进先出)ArrayBlockingQueue:由数组结构组成的有界阻塞队列;LinkedBlockingQueue:由链表结构组成的有界阻塞队列(但大小默认值为:Integer.MAX_VALUE);PriorityBlockingQueue:支持优先级…

PHP能在Mac上运行吗,PHP Composer无法在Mac上运行

我安装了bitnami mac堆栈主要是因为我的项目需要至少PHP 5.4.7版本.但是,我遇到了作曲家的问题.这是我跑步时遇到的错误:php composer.phar install --dev错误:Richard-Knops-MacBook-Pro:my-project richardknop$php composer.phar install --devdyld: …

主机安装php网站,php支持虚拟主机(php网站空间)

php设置虚拟主机,主要是为了在ie输入地址栏是,可以输入任意的,而不是localhost/,为了方便,但是设置起来很不方便的。。发现不能实现每个站点使用不同的PHP版本,想向大家求教一下,有没有能让。支…

php时分获取秒数,javascript与php时/分/秒与秒数互转

javascript:/*时间转换成秒*/function time_to_second(time){var arr time.split(‘:‘)var hour arr[0]?arr[0]:0var minute arr[1]?arr[1]:0var second arr[2]?arr[2]:0var ret hour * 3600 minute * 60 secondreturn ret}/*秒转换成时间*/function sec…

lbp matlab程序,求教大神给解释一下LBP特征提取每部分程序是干什么的

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼function X1 LBP(Resimage)% Returns a rotation invariant LBP (uniform patterns) histogram (10 bins)% of picture X.% the size of picture X must be at least 3x3 pixelsw1 (1/sqrt(2))^2;%根号1/2平方w2 (1-1/sqrt(2))*…

python以20字符宽居中输出,Python 字符串内置方法(一)

以下方法只需要知道用法就行了,权当了解,不用硬背,以后需要用到的时候再回来看说明:一般方法中前面是is开头的就是判断来的,输出不是True就是False,例如isalpha()方法capitalize()方法:首字母大…

php 复选框全选和取消,基于JavaScript实现复选框的全选和取消全选

这篇文章主要为大家详细介绍了基于JavaScript实现复选框的全选和取消全选,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了js复选框的全选和取消全选的具体代码,供大家参考,具体内容如下效果图:…

oracle 字段全大写,Oracle如何批量将表中字段名全转换为大写(利用简单存储过程)...

前言今天查询一个数据字段一直提示字符无效,明明在数据库表字段中是存在的;查询后得知,数据库表字段为小写时,查询需要将字段名小写并加上双引号;表名同理,我这里表名是大写,暂时不需要改。搜到…

oracle的al32utf8,oracle字符集修改(AL32UTF8-UTF8)

author:skatetime:2012/04/10AL32UTF8->UTF8步骤shutdown immediate;startup mount;alter session set sql_tracetrue;alter system enable restricted session;alter system set job_queue_processes0;alter system set aq_tm_processes0;alter data…

javascript date php date,JavaScript Date 知识浅析

Date函数new Date()Date 对象会自动把当前日期和时间保存为其初始值。date.getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。date.getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。周日是0。date.getMonth()从 Date 对象返回月份 (0 ~ 11)。date.getFullYear()从 Date …

16字节 oracle md5,Oracle中的MD5加密

因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.M因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据…

ip字符串转换 linux,Linux网络编程入门

在日常使用,我们更多的使用十进制字符串表示IP地址,比如192.169.130.66,而不是记忆32位的IP地址(关键是太长了记不住呀),使用字符串IP更为方便,可读性也更好。但是根据上述in_addr定义,网络编程中需要的是网…

linux php目录是否存在,PHP判断文件或者目录是否可写,兼容windows/linux系统

在PHP中,可用is_writable()函数来判断一个 文件/目录 是否可写,用是否可生成文件的方式判断目录是否可写;网上的一些代码大多数能判断linux系统,但windows服务器下判断不准确。下面的代码兼容windows和linux判断文件或目录是否可写…

linux 脚本 发送邮件,shell 脚本发送邮件

有时候会使用脚本完成一系列的自动化工作,工作完成后还需要邮件通知相关人员,此时可以使用第三方的工具:SendEmail,最新版本sendEmail-v1.56.tar.gz下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmil的使用范…

link linux 跨设备,Linux中的两种link方式

Linux系统中包括两种链接方式:硬链接(hard link)和符号链接(symbolic link),其中符合链接就是所谓的软链接(soft link),那么两者之间到底有什么区别呢?inode在Linux系统中,内核为每一个新创建的文件分配一个inode&…

linux 运行ca.crt,linux下使用openssl生成 csr crt CA证书,opensslcsr

linux下使用openssl生成 csr crt CA证书,opensslcsr本文主要借鉴和引用了下面2个地址的内容,然后在自己的机器上进行了测试和执行,并做了如下记录。ref:http://blog.chinaunix.net/uid-26760055-id-3128132.htmlhttp://www.111cn.net/sys/lin…

linux cpu核数和线程数,cpu个数、核数和线程的理解

1.查看物理cpu个数grep physical id /proc/cpuinfo | sort -u | wc -l2.查看核心数量grep core id /proc/cpuinfo | sort -u | wc -l3.查看线程数grep processor /proc/cpuinfo | sort -u | wc -lcat /proc/cpuinfo 查看文件里面关键信息processor : 23 ----------代表…

linux设置超链接,帮助-链接 - Linux Kernel Newbies

this page is outdated and needs to be fixed参考链接形式语法备注内部链接WikiNameCamelCase page name内部自由链接["Page"] or ["free link"]可配置函数内部子页面链接/SubPage or ["/Sub page"]相对于上一级页面外部链接http://example.net…

linux 文件系统cache,终于找到一篇详解Linux文件系统Cache的文章

级别: 初级2006 年 5 月 11 日文件 Cache 管理是 Linux 内核中一个很重要并且较难理解的组成部分。本文详细介绍了 Linux内核中文件 Cache 管理的各个方面,希望能够对开发者理解相关代码有所帮助。自从诞生以来,Linux 就被不断完善和普及&…

宝塔Linux怎么安装Mariadb,如何在linux上面安装mariadb总结

1、下载MariaDB(mariadb-5.5.31.tar.gz)[rootzabbix_server opt]# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz2、安装MariaDB[rootzabbix_server opt]# tar xzvf mariadb-5.5.31.tar.gz[rootzabbix_server cmake-2.8.5]# cd cmake-2.8.5[rootzabbix_server cmak…