关于序列化:PHP 拥有序列化方法,可以返回对象的字符串表示。但序列化只保存对象的成员数据而不包话方法

对象|数据|字符串

    PHP不支持永久对象,在OOP中永久对象是可以在多个应用的引用中保持状态和功能的对象,这意味着拥有将对象保存到一个文件或数据库中的能力,而且可以在以后装入对象。这就是所谓的序列化机制。PHP 拥有序列化方法,它可以通过对象进行调用,序列化方法可以返回对象的字符串表示。然而,序列化只保存了对象的成员数据而不包话方法。

在PHP4中,如果你将对象序列化到字符串$s中,然后释放对象,接着反序列化对象到$obj,你可以继续使用对象的方法!我不建议这样去做,因为(a)文档中没有保证这种行为在以后的版本中仍然可以使用。(b) 这个可能导致一种误解,在你把一个序列化后的版本保存到磁盘并退出脚本时。当以后运行这个脚本时,你不能期待着在反序列化一个对象时,对象的方法也会在那里,因为字符串表示根本就不包括方法。

  总而言之,PHP 进行序列化对于保存对象的成员变量非常有用。(你也可以将相关数组和数组序列化到一个文件中)。

时间: 2024-09-07 14:31:34

关于序列化:PHP 拥有序列化方法,可以返回对象的字符串表示。但序列化只保存对象的成员数据而不包话方法的相关文章

在adodb.php中有没有一个方法可以返回 update语句,影响的行数

问题描述 在adodb.php中有没有一个方法可以返回 update语句,影响的行数 如题在adodb.php中有没有一个方法可以返回 update语句,影响的行数

javascript charAt() 方法可返回指定位置的字符。

网页特效 charAt() 方法可返回指定位置的字符. 请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串. 语法 stringObject.charAt(index)参数 描述 index 必需.表示字符串中某个位置的数字,即字符在字符串中的下标. 提示和注释 注释:字符串中第一个字符的下标是 0.如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串. <html>     <head&

那位知道远程如何备份linux下的opends2.2里的数据,用什么方法?

问题描述 那位知道远程如何备份linux下的opends2.2里的数据,用什么方法? 那位知道远程如何备份linux下的opends2.2里的数据,用什么方法?

document.getElementsByTagName()方法的返回值(1/3)

document.getelementsbytagname()方法的返回值中取出某个特定的元素.一开始以为它的返回值是一个数组,结果,大错特错.它返回的是一个 dom 对象,可以遍历,有 length 属性,但不是数组. 证据在这里: html code<script>     window.onload = function() {        var divs = document.getelementsbytagname("div");        documen

document.getElementsByTagName()方法的返回值

document.getelementsbytagname()方法的返回值 /* document.getelementsbytagname()方法的返回值中取出某个特定的元素.一开始以为它的返回值是一个数组,结果,大错特错.它返回的是一个 dom 对象,可以遍历,有 length 属性,但不是数组. 证据在这里: html code<script>     window.onload = function() {        var divs = document.getelementsb

JavaScript中用toString()方法返回时间为字符串

 此方法返回表示指定日期对象的字符串. 语法 1 Date.toString() 下面是参数的详细信息: NA 返回值: 返回表示指定日期对象的字符串 例子: 1 2 3 4 5 6 7 8 9 10 11 12 <html> <head> <title>JavaScript toString Method</title> </head> <body> <script type="text/javascript&quo

在JS方法中返回多个值的方法汇总

  本文给大家汇总了在javascript方法中返回多个值的方法,都是在个人项目中检验过的,这里推荐给大家,有需要的小伙伴可以参考下. 在使用JS编程中,有时需要在一个方法返回两个个或两个以上的数据,用下面的几种方法都可以实现: 1 使用数组的方式,如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <html> <head> <title>JS函数返回多个值</title> <

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

jquery访问servlet并返回数据到页面的方法_AJAX相关

本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下: package com.panlong.servlet;  import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder;  import javax.servlet.ServletExceptio