• 【理上网来·喜迎十九大】精神之“钙”是拒腐防变的良药 2019-03-21
  • 紫光阁中共中央国家机关工作委员会 2019-03-21
  • 是计划,不是批准;是统计,不要浪费。为的是“发展经济,保障供给”! 2019-03-17
  • 听语音判断酒有没有装满 人工智能技术推进杭企实现智能制造 2019-03-17
  • 高通出局 未来iPhone modem芯片将完全由英特尔提供 2019-03-15
  • 尽管管理层一任一任地换,但是以每年IPO数量的多少作为反映政绩的主要标志,而对于股市下跌、市值(包括国有股)损失、经济晴雨表失真、投资者利益巨亏等等,则不在考核 2019-03-14
  • “沙雕世界杯”作品亮相舟山 2019-03-14
  • 新华网申领新闻记者证资格审核公示 2019-03-12
  • 江苏快3一定牛预测:PHP命名空间

    山西11选5(任五)遗漏 www.csvi.net PHP命名空间

    PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物。 不过在PHP当中还是有着相当重要的意义。

    PHP 命名空间可以解决以下两类问题:

    • 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突

    • 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性


    定义PHP命名空间

    默认情况下,所有常量、类和函数名都放在全局空间下,就和PHP支持命名空间之前一样。

    命名空间通过关键字namespace 来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间。语法格式如下;

    < ?php  
    // 定义代码在 'MyProject' 命名空间中  
    namespace MyProject;  
     
    // ... 代码 ...

    你也可以在同一个文件中定义不同的命名空间代码,如:

    < ?php  
    namespace MyProject1;  
    // MyProject1 命名空间中的PHP代码  
     
    namespace MyProject2;  
    // MyProject2 命名空间中的PHP代码    
     
    // 另一种语法
    namespace MyProject3 {  
     // MyProject3 命名空间中的PHP代码    
    }  
    ?>

    在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句。所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。

    <?php
    declare(encoding='UTF-8'); //定义多个命名空间和不包含在命名空间中的代码
    namespace MyProject {
    const CONNECT_OK = 1;
    class Connection {
     /* ... */ 
     }
     function connect() {
      /* ... */ 
       }
      }
      namespace { 
      // 全局代码session_start();
      $a = MyProject\connect();
      echo MyProject\Connection::start();
      }
    ?>

    以下代码会出现语法错误:

    <html>
    <?php
    namespace MyProject; 
    // 命名空间前出现了“<html>” 会致命错误 - 命名空间必须是程序脚本的第一条语句
    ?>


    子命名空间

    与目录和文件的关系很象,PHP 命名空间也允许指定层次化的命名空间的名称。因此,命名空间的名字可以使用分层次的方式定义:

    <?php
    namespace MyProject\Sub\Level;  //声明分层次的单个命名空间
    const CONNECT_OK = 1;
    class Connection {/* ... */ }
    function Connect() {/* ... */}
     ?>

    上面的例子创建了常量 MyProject\Sub\Level\CONNECT_OK,类 MyProject\Sub\Level\Connection 和函数 MyProject\Sub\Level\Connect。


    以下高清视频内容:PHP命名空间讲解


    扫码领京东优惠券

    京东优惠券
  • 【理上网来·喜迎十九大】精神之“钙”是拒腐防变的良药 2019-03-21
  • 紫光阁中共中央国家机关工作委员会 2019-03-21
  • 是计划,不是批准;是统计,不要浪费。为的是“发展经济,保障供给”! 2019-03-17
  • 听语音判断酒有没有装满 人工智能技术推进杭企实现智能制造 2019-03-17
  • 高通出局 未来iPhone modem芯片将完全由英特尔提供 2019-03-15
  • 尽管管理层一任一任地换,但是以每年IPO数量的多少作为反映政绩的主要标志,而对于股市下跌、市值(包括国有股)损失、经济晴雨表失真、投资者利益巨亏等等,则不在考核 2019-03-14
  • “沙雕世界杯”作品亮相舟山 2019-03-14
  • 新华网申领新闻记者证资格审核公示 2019-03-12