魔术常量和方法、会话

魔术常量和方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
魔术常量:
__CLASS__
• 返回该类被定义时的名字(区分⼤⼩写)
__METHOD__
• 返回该⽅法被定义时的名字(区分⼤⼩写)
__DIR__
• 指向当前执⾏的PHP脚本所在的⽬录
__FILE__
• ⽂件的完整路径和⽂件名。如果⽤在被包含⽂件中,则返回被包含的⽂件名

魔术方法(拦截器):
包括 __construct和__destruct()
__isset
• 检测对象⾥⾯的私有成员属性是否存在
__unset()
• 是个共有的⽅法,⽤来删除对象⾥的私有成员属性
__get()
• 获取对象未定义的属性时,⾃动运⾏的魔术函数
__set()
• 给未定义的属性赋值时,⾃动运⾏的魔术函数。可以将set设置的未
定义属性存到类的数组类型成员属性,get时再找相应变量索引
__call()
• 调⽤⼀个未定义的⽅法时,⾃动执⾏的魔术函数,2个参数 1⽅法名 2参数数

__callStatic()
• 调⽤⼀个未定义的静态⽅法时,⾃动执⾏的魔术函数,2个参数 1⽅法名 2参数数组
__autoload($className)
• 引⽤⼀个类时⾃动执⾏的函数,可以读⼊类⽂件,可以通过
spl_autoload_register(array('a','run'));来指定新的魔术函数,但是函数要是static的

构造⽅法__construct()和析构函数__destruct():魔术方法
• 在创建对象时⾃动执⾏,没有返回值,⽤于执⾏类的⼀些初始化⼯作,
如对象属性的初始化⼯作,PHP4中构造⽅法必须与类同名,php5中
规定构造⽅法为construct(),优点是不受类名的影响,如果不存在
construct php搜索与类同名的⽅法⾃动执⾏。
• 可以在构造⽅法中传递参数,⽤于定义属性,在⽗类和⼦类都定义构
造⽅法时,执⾏⼦类的构造⽅法
析构⽅法destruct()
• ⽤于对象在内存中被销毁时⾃动执⾏的⽅法,不带任何参数

函数:
get_class_methods()
• 返回由类的⽅法名组成的数组
get_class_vars()
• 返回由类的默认属性组成的关联数组
get_object_vars()
• 返回由对象属性组成的关联数组
call_user_func_array()
• 调⽤回调函数,并把⼀个数组参数作为回调函数的参数
• call_user_func_array ( callable $callback , array $param_arr )
method_exists()
• 检查类的⽅法是否存在
会话:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
setcookie (name ,value, expire,path)
(名字,值,过期的时间,在服务器端的有效路径)
string serialize ( mixed $value ) 产⽣⼀个可存储的值的表示
mixed unserialize ( string $str [, string $callback ] )
从已存储的表示中创建 PHP 的值
session_start()
session_id()• 获取设置session_id
session_name()• 获取设置session_name
unset($_SESSION['web'])• 删除session变量
$_SESSION=array()
• 删除所有session变量, 不删除session⽂件
session_unset()
• 释放当前在内存中已经创建的所有$_SESSION变量,但不删除sess⽂件以及不释放对应的session id
session_destroy()
• 删除当前⽤户对应的session⽂件以及释放session id,内存中的
$_SESSION变量内容依然保留
释放⽤户的session所有资源
• session_unset();session_destroy();
session_save_path()
session.gc_probability = 1
• session清除基数
session.gc_divisor = 100
• 定义在每次初始化会话时,启动垃圾回收程序的概率。 这个收集概率计算公式如下:session.gc_probability/session.gc_divisor; 对会话⻚⾯访问越频繁,概率就应当越⼩。建议值为1/1000~5000。
session.gc_maxlifetime = 1440
• 超过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收
程序清理。