PHP魔术方法-----在某一时刻不同情况下自动调用执行的方法
__autoload(),实例化一个对象时,如果对应的类不存在,则该方法被调用。
__call(),在调用类中未定义的方法时,执行此方法。第一个参数是调用不存在的方法名,第二个就是你调用的不存在的方法时传的参数。
__clone(),克隆对象时被调用。
__construct(),构造方法,一个类中只能声明一个构造方法,只有在每次创建对象的时去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。该方法无返回值。注:PHP 不会在本类的构造方法中再自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。
__destruct(),析构方法,在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等。析构函数不能带有任何参数。
注:如要调用父类的构造方法在子类的析构方法中需手动调用 parent::__destruct()。
__get(),在获取类的变量的值时执行
__set(),在设置类的变量的值时执行
__toString(),将对象当做字符串使用时,会调用此方法。一般调试时使用。
__isset(), 检测一个对象的属性是否存在时被调用。如:isset($c->name)。
__unset(),unset一个对象的属性时被调用。如:unset($c->name)。
__sleep(), serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
__wakeup(), unserialize时被调用,做些对象的初始化工作。
__set_state(), 调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
魔术变量----预定义常量,不区分大小写
__LINE__ 文件中的当前行号
__DIR__ 文件的完整路径和文件名,返回中不包括末尾的斜杠(PHP 5.3.0中新增)
__FILE__ 文件所在的目录(绝对路径)
__FUNCTION__ 返回该函数被定义时的名称
__CLASS__ 返回该类被定义时的名称(区分大小写)
__TRAIT__
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名称(区分大小写)
__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
超全局变量---是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。
$GLOBALS 储存全局作用域中的变量
$_SERVER 获取服务器相关信息
$_REQUEST 获取POST和GET请求的参数
$_POST 获取表单的POST请求参数
$_GET 获取表单的GET请求参数
$_FILES 获取上传文件的的变量
$_ENV 获取服务器端环境变量的数组
$_COOKIE 浏览器cookie的操作
设置cookie:setcookie(name, value, expire, path, domain);
获取cookie:$_COOKIE["user"];
删除cookie:setcookie("user", "", time()-3600);//设置过期时间
$_SESSION 服务端session的操作
使用session前一定要session_start()启动session
储存session:$_SESSION["name"]="King";//数组操作
销毁session:unset($_SESSION["name"]);//销毁一个
session_destroy()和unset($_SESSION);//销毁所有的session