对象序列化__sleep

2024-04-07

php 手册指出:

它可以清理物体并且是 应该返回一个数组 该对象的所有变量的名称 应该将其序列化。

我的理解是,如果一个人上了一堂课。像这样:

<?php

class Foo {

    public $bar = 'bar';

    public $baz = 'baz';

    public function __sleep() {
        return array('bar');
    }

}

$obj = new Foo();
$serialized = serialize($obj);
$unserialized = unserialize($serialized);

var_dump($unserialized);

?>

它只会序列化对象和属性 $bar?像这样:

object(Foo)[2]
  public 'bar' => string 'bar' (length=3)

但它返回:

object(Foo)[2]
  public 'bar' => string 'bar' (length=3)
  public 'baz' => string 'baz' (length=3)

我理解错了吗?还是我做错了还是什么?


反序列化会创建对象的新实例,并且由于类的定义初始化了属性,因此您将获得它的默认值。尝试这个:

class Foo {
    public $bar;
    public $baz;
    public function __sleep()
    {
        return array('bar');
    }
}

$obj = new Foo();
$obj->bar = 'bar';
$obj->baz = 'baz';
$serialized = serialize($obj);
$unserialized = unserialize($serialized);
var_dump($unserialized);

编辑:或者,您可以 vardump($serialized) 并查看其中没有 baz。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对象序列化__sleep 的相关文章

  • Google Analytics PHP(发送信息)

    大意 我正在开发一个项目 我需要使用 Google Analytics 服务器端 我不需要检索信息 但我需要发送信息 我最终可以发送 js 脚本客户端 但在这种情况下它不是一个选项 以下大多数链接都非常旧 2012年 检索 不是我需要的 我
  • 在 PHP 中验证约 400MB 的大型 XML 文件

    我有一个很大的 XML 文件 大约 400MB 在开始处理之前我需要确保它的格式正确 我尝试的第一件事是类似于下面的内容 这很棒 因为我可以找出 XML 是否格式不正确以及 XML 的哪些部分 不好 doc simplexml load s
  • 是否可以共享 Symfony2 安装(一台服务器上的多个网站 [域])

    我想在一个根 服务器 下托管多个基于 Symfony2 的网站 是否可以共享 symfony 自己的文件 供应商等 有人知道教程吗 管理起来困难吗 AFAIK Symfony 安装大约有 600MB 我不想以冗余方式保存它 我看起来确实有可
  • 如何使用图像生成 SVG 二维码?

    我有一个用于生成 jpeg 和 png 格式的 qrcode 的代码 但也想在 PHP 中生成带有背景图像的 svg qrcode 我正在使用 qrlib php 生成 jpeg 和 png 格式 QRlib php 也支持 SVG 不是吗
  • Laravel:运行队列:在 Windows Azure Web App 上连续监听

    我觉得问这个问题有点傻 但我似乎无法在互联网上找到这个问题的答案 经过几个小时的搜索后 我发现在 Linux 服务器上 您使用 Supervisor 在您的网站上连续运行 php artisanqueue listen 无论有或没有守护进程
  • 如何在Wamp服务器中启用SSL?

    我尝试在网上搜索它 但我很困惑 我没有得到任何澄清 逐步教程 http blog facilelogin com 2008 07 enabling ssl on wamp html 从链接复制 在 WAMP 上启用 SSL 本分步指南介绍了
  • PDO dblib 未捕获警告

    我已经使用 realestateconz mssql bundle 和免费 TDS 成功使我的 symfony 应用程序连接到 MSSQL 数据库 我的问题是 当我尝试执行存储过程时 如果出现问题 该过程会引发异常 但 PDO 不会报告任何
  • 使用ajax发送表单数据

    我想用 ajax 以表单形式发送所有输入 我有一个这样的表单
  • 某些表格后的分页符

    我的问题是 我有一个页面 其中包含几个要打印的 html 表格 有些表有很多行 有些则没有 我想要做的是将第一个和第二个表 大表 打印在单独的页面中 其余表 小表 每页打印两个 如何在我想要的位置放置分页符 我试过 但这会在每个表格后面添加
  • 在另一个 Intent 中发送 Intent

    也许我的处理方式是错误的 但我想在我自己的应用程序中响应我的 Android AppWidget 的点击事件并启动一个 Activity 当时我设置了PendingIntent我还有一个Intent我想在点击时启动它 我的onStartCo
  • 按给定日期获取上周一和下周一的日期[重复]

    这个问题在这里已经有答案了 我们如何通过提供的日期获取上一周星期一日期和下周星期一日期 示例 if date 2015 04 08 年月日格式 然后函数返回 上周一日期 2015 03 30 下周一日期 2015 04 13 echo Ne
  • 从本地 html/javascript 网站插入 mySQL 数据库

    我正在尝试做什么 我的程序的目的是插入数据local HTML JS网站变成online 非本地 mySQL数据库 到目前为止我尝试过的 我试图用来实现此目的的原始方法是让我的本地网站使用 javascript 通过在线发布数据PHP文件
  • 更新查询增量字段加上 1 codeigniter 函数 [重复]

    这个问题在这里已经有答案了 我想在 codeigniter 项目中将字段值增加到当前值加 1 所以 我做了一个功能 但它不起作用 我的职能是 function increse field by 1 table name fieldToInc
  • 一个表单包含两个提交按钮,每个按钮都有不同的操作

    我花了几个小时试图找到问题的解决方案 但似乎找不到正确的解决方案 提前感谢你的帮助 我有一个 html 表单
  • PHP 中的多行字符串文字

    考虑 xml l xml vv echo xml 这将回响vv 为什么以及如何为诸如此类的事情执行多行字符串文字简单XML https en wikipedia org wiki SimpleXML etc Well xml l vv Wo
  • 迁移时未找到 Laravel 致命错误类

    我已经跑了artisan migrate reset 我删除了一些迁移文件 因为我不再需要这些表 I ran composer dump autoload其次是artisan dump autoload I ran artisan migr
  • 使用 jackson 序列化 Map.Entry 时出现问题

    如果我尝试反序列化以下存储为字符串的类型 List
  • Symfony 5.4 Security Bundle,注册后无法登录

    我在 5 4 版本上构建空的新项目 我使用这些命令来构建项目 composer create project symfony skeleton 5 4 testapp54 cd testapp54 composer require weba
  • CMS:将自定义页面存储为文件或 MySQL 数据库中?

    我正在 PHP 中创建一个自定义 CMS 从头开始编写 并且想知道是否应该将用户创建的页面存储为文件或存储在 MySQL 数据库中 内容全部是 HTML 代码 至少目前是这样 我无法决定该做什么 因为用 php 编写文件似乎存在安全风险 并
  • 为什么 strtotime('a') 返回时间?

    我正在 PHP 5 3 中循环遍历 CSV 文件并检查日期 我一直在使用 strtotime 它运行良好 除了我有一个包含 1 或 2 个字符代码的字段 任何单个字符代码上的 strtotime 似乎都像我要求 now 一样 但如果代码是

随机推荐

  • BeautifulSoup:抓取 HTML 仅在单击同一 URL 中的“接受”后才能访问

    我正在尝试从某个 URL 中抓取一些信息 我们称其为 www foo bar baz 当您使用网络浏览器访问该 URL 时 通常会出现 我已年满 18 岁 按钮 URL 不会改变 只有当您手动单击该按钮时才会加载实际内容 我想 模拟 单击
  • 如何在Python中对西班牙语进行编码和解码

    我用 python 2 7 编写了以下代码 coding utf 8 import sys string a os luz detr s print string encode utf 8 这会引发以下错误 print string enc
  • Xcode 6.1:加载插件失败

    我从 AppStore 更新了 Xcode 但由于以下错误消息而无法打开它 加载插件失败该插件或其必备插件之一可能丢失或损坏 可能需要重新安装 我尝试通过从应用程序文件夹中删除 Xcode 来卸载它并重新安装它 但问题仍然相同 谁能弄清楚出
  • 如何用不连续性数据绘制折线图?

    我在 R 中使用 ggplot2 库绘制图表时遇到问题 我有一个 日期 变量 其中包含 3 个 品牌 品牌中每个品牌的披露值 评级 的日期 问题是 一场活动结束后 市场就只剩下两个品牌了 因此 我想在同一图中分别绘制此事件之前和之后的线条
  • 从三个单独的列表创建嵌套字典

    我编写了一些代码来生成三个围绕项目的单独列表 第一个列表是 ID 列表 第二个列表是开始日期列表 第三个列表是结束日期列表 我想将这些列表合并到一个嵌套字典中 item 0 from start date and item 0 从 end
  • JavaScript 函数拒绝在生产服务器上工作,但在本地服务器上工作

    我正在使用从 Macromedia Dreamweaver 借用的 MM goToURL 函数将 HTTP 请求发送到服务器上的特定 URL 下面是该函数的代码 它在外部 JavaScript 文件中声明 function MM goToU
  • HTML 或 JavaScript 是否有建议的最大行长度? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 大多数编程语言的大多数样式指南都建议最大行长度 通常为 80 个字符 对于 HTML 和 JavaScript 当它嵌入到 HTML 中时 来说
  • 请求在此上下文中不可用 -> 在 Global.asax 中 -> 替换什么

    为什么下面的行在 global asax 中有错误 string RelativeFilePath AbsoluteFilePath Replace Request ServerVariables APPL PHYSICAL PATH St
  • 对象不支持属性或方法“有效”

    我的代码抛出以下错误 对象不支持属性或方法 有效 这是因为当前表单没有验证 那没问题 我只想提前检查一下我是否可以应用该方法valid到当前表单以避免烦人的 JavaScript 错误 这就是我想要的 例如 if form isValida
  • Pandas read_csv 转换器 – 如何处理异常(literal_eval SyntaxError)

    在 Pandas DataFrame 中 我正在读取一个 csv 文件 如下所示 A B 0 t1 t2 1 t3 t4 其中两个单元格中有文字元组 其中两个单元格为空 df pd read csv my file csv dtype st
  • 这是 Linux 内核代码中的任何类型的宏吗?

    我在linux内核代码中找到了这个http gitorious org pandroid kernel omap blobs 5ed7607d45b300a37dd13ad1c79adea56f6687ce arch arm mach om
  • 在 R 中有效地插值网格中的值

    我有一个按位置排列的海洋深度数据网格 并且正在尝试为选定的 GPS 点插入深度值 我们一直在使用 RSAGA pick from points 它对于小数据集效果很好 require RSAGA depthdata lt cbind dat
  • 如何从 COCO 数据集创建掩模图像?

    所以我一直在使用这段代码 我正在尝试从 COCO 数据集中生成图像的原始蒙版 dataDir G dataType train2014 annFile annotations instances json format dataDir da
  • Java - 使用具体类型覆盖对象类型参数

    EDIT 我将把这个作为一个例子 请阅读评论以获取更多信息 但一般来说 不要使用此设计 这不好 我搜索答案有一段时间了 但找不到任何真正具体的说法 不 你不能 因为 或者是的 你可以 那就是你这样做的方式 所以问题是 我可以创建一个定义对象
  • 将 PHP 变量传递到 jQuery 函数

    我正在尝试为我的网站实现 jQuery Flare 视频插件 有一个下拉菜单 用户必须从中选择年份 当单击提交按钮时 视频将显示在屏幕上 我有一个数据库 可以从数据库中获取视频的路径 即 row videoName 我的问题是如何在 jQu
  • 将手势识别器/操作方法附加到视图会违反模型视图控制器吗?

    想问问大家对此的看法 我有一个 uiimageview 子类 在它的初始化程序中 我向 imageview 添加了一些手势识别器 并且还在类中包含了手势识别器委托方法 我的问题是 这是否违反模型视图控制器 所有与控制视图有关的代码都应该在视
  • Subversion 中的单个文件合并

    我正在使用 Subversion 1 5 并且在一个分支中有一个文件 我想将其合并到另一个分支中 当我做一个svn merge http path to file我收到一个错误 无法用 替换目录 这是否意味着 Subversion 无法做到
  • 如何将 document.getElementById 值转换为整数变量,而不是字符串?

    我想传递一个从 html 对象获得的值 将该值转换为整数 以便我可以在输出它之前对其进行算术运算 正如我现在的代码所示 它只是将它们像字符串一样添加起来 因此 值 5 修正值 100 最终等于 5100 而不是 105 这是我的表单代码
  • 实体框架 - 不同数据上下文中的“导航属性”?

    请注意 有人问了类似的问题 但我觉得没有得到回答 Entity Framework Code First 不同上下文 数据库之间的导航属性 https stackoverflow com questions 14340830 entity
  • 对象序列化__sleep

    php 手册指出 它可以清理物体并且是 应该返回一个数组 该对象的所有变量的名称 应该将其序列化 我的理解是 如果一个人上了一堂课 像这样 它只会序列化对象和属性