zoukankan      html  css  js  c++  java
  • 9.part7-1day php超级全局变量、魔术常量和命名空间

    学习目的:了解一些内置的方法

    一、超级全局变量

    有9个,分别为$GLOBALS,$_SERVER,$_REQUEST,$_POST,$_GET,$_COOKIE,$_SESSION,$_FILES,$_ENV

    1.$GLOBALS在函数内部引用全局变量

    2.$_SERVER保存关于报头、路径和脚本位置的信息,以下简单列举了几个:

    <?php
        $_SERVER['PHP_SELF'];  //返回当前执行脚本的文件名
        $_SERVER['SERVER_NAME']; //返回执行脚本所在的服务器的主机名
        $_SERVER['HTTP_HOST'];  //返回来自当前请求的Host头
        $_SERVER['HTTP_REFERER']; //返回当前页面的完整URL
    ?>

    3.$_REQUEST用于收集html表单提交的数据,默认情况下包含了$_GET,$_POST,$_COOKIE的数组,$_REQUEST['fname']; 提取名为fname的表单

    4.$_POST用于收集采用method="post"的html表单

    5.$_GET用于收集采用method="get"的html表单

    6.$_COOKIE, $_SESSION 后面会在讲cookie和session讲

    7.$_FILES http文件上传变量(已经弃用)

    8.$_ENV 环境变量(已经弃用)

    二、魔术常量

    有8个,分别为:__LINE__,__FILE__,__DIR__,__FUNCTION__,__CLASS__,__TRAIT__,__METHOD__,__NAMESPACE__

    1.__LINE__ 文件中当前的行数

    2.__FILE__ 文件的完整路径和文件名

    3.__DIR__ 文件所在的目录

    4.__FUNCTION__ 函数名称(区分大小写)

    5.__CLASS__ 类的名称(区分大小写)

    6.__TRAIT__ Trait的名称

    7.__METHOD__ 类的方法名(区分大小写)

    8.__NAMESPACE__ 当前命名空间的名称(区分大小写)

    使用方法:

    <?php
        echo "this is line" . __LINE__;      //其他的也一样用
    ?>

    三、命名空间

    1.命名空间有什么用

    解决用户编写代码与php内部的类、函数、常量或是第三方的类、函数、常量之间的名字冲突

    2.如何定义命名空间

    默认情况下所有常量、类和函数名都放在全局空间下。命名空间通过关键字namespace来声明,如果一个php文件包含命名空间,它必须在其他所有代码之前声明命名空间,例子如下:

     
    <?php
        namespace MyProject;
        namespace MyProjectSub; //子命名空间
        //编写代码
    ?>

    3.命名空间的使用

    用as命别名区分不同命名空间中的相同的类名

    <?php
        require_once test1.php;
        require_once test2.php;
         
        use MyProjectTest as parentClass;    //调用命名空间MyProject里的test类 并且名了一个别名parentClass
        use MyProjectSubTest as childClass;   //调用命名空间MyProject的子命名空间Sub里的test类 并且名了一个别名childClass
     
        parentClass::view();  //调用命名空间MyProject里的test类里的方法
        childClass::view();//调用命名空间MyProject的子命名空间Sub里的test类里的方法
    ?>
  • 相关阅读:
    CentOS6.5(1)----设置静态IP并禁用IPV6
    CentOS7运维管理笔记(12)----修改主机名
    重温C语言(1)----计算算术表达式的值
    C++学习笔记(9)----关于变量和数组大小的一道容易出错的面试题
    MySQL数据库(13)----忘记root用户密码解决方案【转载】
    C++学习笔记(8)----C++类的大小
    C++学习笔记(7)----类的数组中构造函数和析构函数的调用顺序
    C++学习笔记(6)----基类和派生类的构造函数和析构函数的执行顺序
    switch的参数类型
    windows下双击可运行的Java软件打包方案(转)
  • 原文地址:https://www.cnblogs.com/ldwtry/p/12170150.html
Copyright © 2011-2022 走看看