PHP学习笔记四(超级全局变量 和 魔术常量)
Posted 岁月可贵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP学习笔记四(超级全局变量 和 魔术常量)相关的知识,希望对你有一定的参考价值。
php 超级全局变量
$GLOBALS
超级全局变量组 在一个PHP脚本的全部作用域中都可以访问
$x = 75;
$y = 25;
function addition()
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
addition();
echo $z; // 100
$_SERVER
包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
这里展示部分的 $_SERVER,具体可以查看参考资料
// 当前执行脚本的文件名 PHP 4.3.0 版本开始
echo $_SERVER['PHP_SELF'];
// 当前运行脚本所在的服务器的 IP 地址
echo $_SERVER['SERVER_ADDR'];
// 请求页面时通信协议的名称和版本。例如,"HTTP/1.0"
echo $_SERVER['SERVER_PROTOCOL'];
// 访问页面使用的请求方法
echo $_SERVER['REQUEST_METHOD'];
// query string(查询字符串)
echo $_SERVER['QUERY_STRING'];
$_REQUEST
用于收集html表单提交的数据
<html>
<body>
<!-- $_SERVER['PHP_SELF']; 当前执行脚本的地址 -->
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_REQUEST['fname'];
echo $name;
?>
</body>
</html>
$_POST
收集表单数据 method=“post”
<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>
$_GET
收集表单数据 method=“get” 也可以收集URL中发送的数据
<a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a>
<!--test_get.php-->
<?php
echo "Study " . $_GET['subject'] . " @ " . $_GET['web'];
?>
文章:参考资料
PHP 魔术常量
魔术常量它们的值随着它们在代码中的位置改变而改变 这些特殊的常量不区分大小写
__LINE__
echo '这是第 " ' . __LINE__ . ' " 行';
__FILE__
文件的完整路径和文件名
echo '该文件位于 " ' . __FILE__ . ' " ';
__DIR__
文件所在的目录
echo '该文件位于 " ' . __DIR__ . ' " ';
__FUNCTION__
函数名称
function test()
echo '函数名为:' . __FUNCTION__ ;
test(); // 函数名为:test
__TRAIT__
代码复用
<?php
class Base
public function sayHello()
echo 'Hello ';
trait SayWorld
public function sayHello()
parent::sayHello();
echo 'World!';
class MyHelloWorld extends Base
use SayWorld;
$o = new MyHelloWorld();
$o->sayHello(); // Hello World!
?>
__TRAIT__
类的名称 PHP 4.3.0 新加
注意自 PHP 5.4 起 CLASS 对 trait 也起作用。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字
class test
function _print()
echo '类名为:' . __CLASS__ . "<br>";
echo '函数名为:' . __FUNCTION__ ;
$t = new test();
$t->_print();
__METHOD__
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)
class classname
function __construct()
echo __METHOD__,"\\n";
$a = 'classname';
$obj = new $a; // classname::__construct
__NAMESPACE__
当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)
在动态创建名称时很有用
namespace MyProject;
echo '命名空间为:"', __NAMESPACE__, '"'; // 命名空间为:"MyProject"
文章:参考资料
以上是关于PHP学习笔记四(超级全局变量 和 魔术常量)的主要内容,如果未能解决你的问题,请参考以下文章