前言:开始复习php了,之前学的内容忘差不多了,所以就补一些我忘了的内容,不会全补。
1 php 超级全局变量
php中预定了几个超级变量,这些变量在一个脚本的全部作用域中都可用,不需要特意说明,就可以在函数以及类
中使用
1.1 $GLOBALS
$GLOBALS 是php中的有一个超级全局变量组,在一个php脚本的全部作用域中都可以访问。
具体使用如下:
<?php
$a = 1;
echo $GLOBALS["a"];
执行结果为1
同个此方式,可以调用不同变量的值。另外再提以下php的作用域问题,php的作用域和javascript类似,都是不
以if 或for形成块级作用域的
1.2 $_SERVER
$_SERVER是一个包含了注入头信息(header) 路径(path) 以及脚本位置(script locations)等信息的数组,这个数组
中的项目由web服务器创建,但不能保证每个服务器都提供全部项目。
下面列出所有$_SERVER的重要元素
1 $_SERVER['PHP_SELF']:当前执行脚本的文件名,比如如果在http://example.com/test.php/foo.bar
中执
行,将得到/test.php/foo.bar
利用该
**2 $_SERVER['GATEWAY_INTERFACE'] **
可以得到当前服务器使用的cgi规范的版本,例如cgi/1.1
3 $_SERVER['SERVER_ADDR']
可以得到当前运行脚本的服务器ip地址
4 $_SERVER['SERVER_NAME']
当前运行的脚本所在服务器的ip地址。
5 $_SERVER['SERVER_SOFTWARE']
服务器标识字符串,在响应请求时的头信息中给出。 (如:Apache/2.2.24)
6 $_SERVER['SERVER_PROTOCOL']
请求页面通信协议的名称和版本
还有很多其他元素,就不一一阐述了,如果需要可以去菜鸟教程查询,剩下的一些元素的作用我在此统一阐述一下
7 获取请求方法
8 获取开始的时间戳
9 查询字符串
10 获取请求头中的accept项内容
11 获得当前请求头中的host内容
1.3 $_POST
该变量用于收集html表单提交的数据,
具体方法如下:
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_POST['fname'];
echo $name;
?>
</body>
</html>
有几个点需要解释下
在action属性嵌套php内容,然后利用echo把本文件的地址输入给action属性,使得表单提交的数据发送给本页面
,然后再下面获得post传递的值,并输出
如果将数据传递给其他页面的php文件,想要重定向会来,可以使用: header("Location: text.html");
来实现重定向
1.4 $_GET
PHP的$_GET被广泛使用于收集表单数据,可以在表单中method属性给与get方法,也可也直接构造url通过get方
法传递数据。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<a href="a.php?subject=PHP">链接</a>
<?php
echo $_GET['subject'];
?>
</body>
</html>
通过此方式利用get方法在查询字符串时传递数据
1.5 $_REQUEST
$_REQUEST 可以获得无论是get方法传递,还是post方法传递的数据,具体使用方式只需要
$_POST["具体的变量名"]
即可获得传递的数据
2 类和对象
由于太久没有使用了,所以忘差不多了,现在重新整理一下,但只会整理存在遗忘的部分。
2.1 构造函数
构造函数用于对象初始化,再创建对象时,构造函数就会被调用,构造函数具体使用如下:
<?php
class abs
{
var $a;
function __construct($a)
{
$this->a = $a;
}
}
$a = new abs(1);
echo $a->a;
2.2析构函数
析构函数是当某个对象成为垃圾或者当对象被显式销毁时执行的方法,没有任何变量引用这个对象时,该对象就会
成为垃圾然后被销毁
直白点的说,当我们人为销毁创建的对象时,或者原来的对象被覆盖时,或php程序结束时对原有对象内存的释放
会执行析构函数。
实例如下:
<?php
class abs
{
function __destruct()
{
echo 1;
}
}
$a = new abs;
$a=null ;//原有的对象被覆盖,触发析构函数
或者
<?php
class abs
{
function __destruct()
{
echo 1;
}
}
$a = new abs;
原有的对象在php程序执行结束后被销毁,执行析构函数。
2.3 类的修饰符
存在public
private
protected
三种修饰符