我是靠谱客的博主 正直面包,最近开发中收集的这篇文章主要介绍超全局变量(8个)与魔术方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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个)与魔术方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部