Ⅰ php数组里面存放对象
楼上解释正确,不过我补充一下。
既然初始化是在类声明之后,那么可以通过手动串行化和反串行化来达到目的。
保存的时候使用serialize来保存,提取恢复的时候使用unserialize来恢复。
当然,这个还有一个要注意的地方,需要保存的对象最好是只包含数据,意思是,不要有数据库连接资源、文件资源之类的,如果包含这些,串行和反串行的结果都是一个int 0,反串行的时候可能不能正常工作。
至于对象串行反串行的一些可定制的功能,可以参考帮助文档的这个部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通过定义魔术函数__sleep __wakeup来实现。
Ⅱ php 创建cookie 时为什么会默认生成httponly
首先看下php.ini是不是默认配袜清置了httponly.
session.cookie_httponly = On
然后看看是否有页面设置了默认配置,
ini_set("session.cookie_httponly", 1);
一般没有配置但是却纤宽带了httponlhy一般情况是其 他地方有修告竖前改,要么是默认配置文件,要么是在初始化文件里面修改的。
Ⅲ php魔术方法有哪些
1.constuct()构造函数
通常实例化完一个对象之后,都要对该对象的属性进行初始化!在实例化一个对象的时候,PHP系统会自动的调用一个名字叫作construct()的方法,我们把这个方法叫作“构造方法”!
2.destruct()析构方法
与构造方法是一对,构造方法是在一个对象“出生”的时候由系统自动调用的,而析构方法是在一个对象“消失”的时候由系统自动调用的!
析构方法的名字叫destruct();注意里面不能有任何的参数!
3.clone()克隆
触发时机:是在克隆一个对象的时候,对新对象进行初始化的工作
4.autoload()自动加载类
当调用不存在的类的时候自动调用!
5.tostring()
当将对象当成字符串使用的时候自动调用
6.invoke()
当将对象当成函数使用的时候自动调用
7,set()
当对无法访问的属性赋值时自动调用(比如:类外调用私有属性)
8.get()
当对获取无法访问的属性值的时候自动调用
9.unset()
当销毁无法访问的属性的时候自动调用
10.isset()
当判断无法访问的属性是否存在的时候自动调用
11.call()
当调用无法访问的普通方法时自动触发
Ⅳ 关于php构造函数
用于类的初始化,在新建一个对象时被立即执行,既
new base();
此时会执行__construct()
$this是指类(实例)自身
Ⅳ PHP中的构造函数基本介绍
构造函数在PHP中扮演着对象初始化的重要角色。当创建对象时,系统自动调用构造函数完成初始化任务。
构造函数的定义如下:
class 类名{
//构造函数
function __construct(形参列表){
//初始化成员属性
}
}
关键点:
(1)构造函数默认为public,可修改为protected或private。
(2)__construct为关键字,不可改变。
(3)构造函数无返回值,不包含return。
(4)由系统自动调用,程序员无法显示调用。
实例:
构造函数用于初始化成员属性。在面向对象编程中,若需对成员进行初始化,只需在构造函数中编写初始化代码。
在类中,构造函数只能有一个。定义多个会引发错误。
PHP4中,类名作为构造函数使用;PHP5也支持。
默认构造函数:
若类中无自定义构造函数,系统会自动创建默认构造函数。
输出对象属性:
通过案例,了解了两个关键点:
(1)显示成员属性值。
(2)理解$this指向当前对象。
this的使用注意事项:
this关键字仅能在类的方法内使用,不适用于类外部。