概述
1. 超全局变量
1. $GLOBALS----->所有的变量都放在里面
2. $_SERVER----->关于报头、路径和脚本位置的信息。3. $_REQUEST----->用于收集 HTML 表单提交的数据。
4. $_POST----->广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。
5. $_GET
6. $_FILES
7. $_ENV----->通过环境方式传递给当前脚本的变量的数组。
8. $_COOKIE----->通过 HTTP Cookies 方式传递给当前脚本的变量的数组。
9. $_SESSION----->当前脚本可用 SESSION 变量的数组。
2. 魔术方法
在PHP中以两个下划线开头的方法,被称为"魔术方法"。如果希望PHP调用这些魔术方法,首先必须在类中定义,否则PHP不会执行未创建的魔术方法。
PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法。我们是通过魔术方法(magic methods)来实现的。
当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。所有的重载方法都必须被声明为public。
1. __get()
读取不可访问属性的值时。
2. __set()
在给不可访问属性赋值时。
3. __isset()
当对不可访问属性调用isset()或empty() 时
4. __unset ()
当对不可访问属性调用unset()时
其他魔术方法:
5. __construct()
对象创建时调用。
6. __destruct ()
对象销毁时调用。
7. __toString()
将对象当作字符串一样使用时会被调用
8. __clone()
克隆对象
默认的,对象都是按引用传值的。因此,在将一个对象赋值给另一个变量时,只是创建了指向该对象的一个引用,并没有复制该对象。为了实现真正得复制一个对象,我们需要使用clone关键字。这种“按引用传递”的策略同样适用于包含在对象内部的对象。即使我们克隆了一个对象,在对象内部的任何对象都不会被克隆,因此最终的结果是两个对象共享了同一个内部对象。
当对一个对象使用clone关键字时,该魔术方法会被调用。在这个魔术方法里,我们可以实现任何子对象的克隆。
9. __call()
调用不存在或不可访问的方法时会被调用。
3. 魔术变量
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有八个魔术常量它们的值随着它们在代码中的位置改变而改变。
__LINE__ | -----文件中的当前行号。 |
__FILE__----- | 文件的完整路径和文件名。 |
__DIR__ | 文件所在的目录。 |
__FUNCTION__ | 函数名称 |
__CLASS__ | 类的名称 |
__TRAIT__ | Trait 的名字 |
__METHOD__ | 类的方法名 |
__NAMESPACE__ | 当前命名空间的名称 |
最后
以上就是正直面包为你收集整理的超全局变量(8个)与魔术方法的全部内容,希望文章能够帮你解决超全局变量(8个)与魔术方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复