2019-05-20 魔术常量和方法、会话 魔术常量和方法: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152魔术常量:__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() • 检查类的⽅法是否存在 会话: 1234567891011121314151617181920212223242526setcookie (name ,value, expire,path)(名字,值,过期的时间,在服务器端的有效路径)string serialize ( mixed $value ) 产⽣⼀个可存储的值的表示mixed unserialize ( string $str [, string $callback ] )从已存储的表示中创建 PHP 的值session_start()session_id()• 获取设置session_idsession_name()• 获取设置session_nameunset($_SESSION['web'])• 删除session变量$_SESSION=array()• 删除所有session变量, 不删除session⽂件session_unset()• 释放当前在内存中已经创建的所有$_SESSION变量,但不删除sess⽂件以及不释放对应的session idsession_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• 超过此参数所指的秒数后,保存的数据将被视为'垃圾'并由垃圾回收程序清理。 Newer 上传下载/目录/时间 Older static用法及$this/self::/parent::之间区别