仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1512|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP5.0对象模子探究之对象串行化

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。php5|对象       串行化可以把变量包含对象,转化成一连bytes数据,你可以将串行化后的变量存在一个文件里或在收集上传输,然后再反串行化复原为本来的数据。你在反串行化类的对象之前界说的类,PHP可以胜利地存储其对象的属性和办法. 有时你能够需求一个对象在反串行化后当即履行。为了如许的目标,PHP会主动寻觅__sleep和__wakeup办法。

  当一个对象被串行化,PHP会挪用__sleep办法(假如存在的话). 在反串行化一个对象后,PHP 会挪用__wakeup办法. 这两个办法都不承受参数. __sleep办法必需前往一个数组,包括需求串行化的属性. PHP会丢弃其它属性的值。假如没有__sleep办法,PHP将保留一切属性。

  例子1显示了若何用__sleep和__wakeup办法来串行化一个对象. Id属性是一个不盘算保存在对象中的一时属性. __sleep办法包管在串行化的对象中不包括id属性. 当反串行化一个User对象,__wakeup办法创立id属性的新值. 这个例子被设计成自我坚持. 在实践开辟中,你能够发明包括资本(如图象或数据流)的对象需求这些办法。

  Listing1 Object serialization

class User
{
 public $name;
 public $id;

 function __construct()
 {
  //give user a unique ID 付与一个分歧的ID
  $this->id = uniqid();
 }

 function __sleep()
 {
  //do not serialize this->id 不串行化id
  return(array("name"));
 }

 function __wakeup()
 {
  //give user a unique ID
  $this->id = uniqid();
 }
}

//create object 创立一个对象
$u = new User;
$u->name = "Leon";

//serialize it 串行化 注重不串行化id属性,id的值被丢弃
$s = serialize($u);

//unserialize it 反串行化 id被从头赋值
$u2 = unserialize($s);

//$u and $u2 have different IDs $u和$u2有分歧的ID
print_r($u);
print_r($u2);
?>  也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧!
不帅 该用户已被删除
沙发
发表于 2015-2-4 12:45:25 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
乐观 该用户已被删除
板凳
发表于 2015-2-5 11:33:37 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
分手快乐 该用户已被删除
地板
发表于 2015-2-6 13:56:59 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
爱飞 该用户已被删除
5#
发表于 2015-2-7 14:22:36 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
6#
发表于 2015-2-7 16:28:04 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
兰色精灵 该用户已被删除
7#
发表于 2015-2-22 16:07:04 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-3 14:49:20 | 只看该作者
实践是检验自己会不会的真理。
深爱那片海 该用户已被删除
9#
发表于 2015-3-7 05:41:05 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
山那边是海 该用户已被删除
10#
发表于 2015-3-10 08:00:45 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
若相依 该用户已被删除
11#
发表于 2015-3-17 05:26:06 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
海妖 该用户已被删除
12#
发表于 2015-3-23 21:51:15 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
再现理想 该用户已被删除
13#
 楼主| 发表于 2015-3-26 04:50:01 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
灵魂腐蚀 该用户已被删除
14#
发表于 2015-4-1 16:41:54 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
飘飘悠悠 该用户已被删除
15#
发表于 2015-4-8 15:37:50 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
小妖女 该用户已被删除
16#
发表于 2015-4-10 05:20:25 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
老尸 该用户已被删除
17#
发表于 2015-4-20 00:30:48 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
精灵巫婆 该用户已被删除
18#
发表于 2015-4-29 16:22:41 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
admin 该用户已被删除
19#
发表于 2015-5-1 03:11:42 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
简单生活 该用户已被删除
20#
发表于 2015-5-2 20:14:38 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-13 13:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表