php引入命名空间的目的,就是为了防止不同的文件 标识符同名的问题,比如类、函数、变量同名导致冲突的问题。这才是根本的根本,了解指点,带着这个观念去学习php命名空间的相关知识,就不会云里雾里了,会比较清晰一点。

lib1.php

<?php
namespace App\Lib1; const MYCONST = 'App\Lib1\MYCONST'; function MyFunction() {
return __FUNCTION__;
} class MyClass {
static function WhoAmI() {
return __METHOD__;
}
}

lib2.php

<?php
// application library 2
namespace App\Lib2; //const MYCONST = 'App\Lib2\MYCONST';
//
function MyFunction() {
return __FUNCTION__;
} //class MyClass {
// static function WhoAmI() {
// return __METHOD__;
// }
//} class Lib2{
static function WhoAmI(){
return __METHOD__;
} public function __construct(){
exit('in');
} }

myApp1.php

<?php
use App\Lib1;
use App as s; require_once('lib1.php');
require_once('lib2.php'); header('Content-type: text/plain');
echo Lib1\MYCONST . "\n";
echo Lib1\MyFunction() . "\n";
echo s\Lib2\MyFunction();

  

php 命名空间的目的的更多相关文章

  1. C++学习笔记(九):作用域和命名空间

    作用域 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域).变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号.也就是说,作用域由变 ...

  2. C++命名空间的解释 【转】

    使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突.在C++中,变量.函数和类都是大量存在的.如果没有命名空间,这些变量.函数.类的名称将都存在于全局命名空间中,会导致很多冲突.比如,如果我 ...

  3. C++命名空间、函数重载、缺省参数、内联函数、引用

    一 .C++入门 1.C++关键字 2.命名空间 3.C++输入&输出 4.缺省参数 5.函数重载 6.引用 7.内联函数 8.auto关键字 9.基于范围的for循环 10.指针空值null ...

  4. C++ 命名空间解释

    using关键字 如果在程序中需要多次引用某个命名空间的成员,那么按照之前的说法,我们每次都要使用范围解析符来指定该命名空间,这是一件很麻烦的事情.为了解决这个问题,人们引入了using关键字.usi ...

  5. 关于C++ 命名空间Namespace 的解析

    使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突.在C++中,变量.函数和类都是大量存在的.如果没有命名空间,这些变量.函数.类的名称将都存在于全局命名空间中,会导致很多冲突.比如,如果我 ...

  6. C++命名空间详解

    使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突.在C++中,变量.函数和类都是大量存在的.如果没有命名空间,这些变量.函数.类的名称将都存在于全局命名空间中,会导致很多冲突.比如,如果我 ...

  7. C++ 异常处理(try catch throw)、命名空间

    一.c++工具 模板(函数模板.类模板).异常处理.命名空间等功能是c++编译器的功能,语言本身不自带,这些功能已经成为ANSI C++标准了,建议所有的编译器都带这些功能,早期的c++是没有这些功能 ...

  8. C++初阶(命名空间+缺省参数+const总结+引用总结+内联函数+auto关键字)

    命名空间 概述 在C/C++中,变量.函数和后面要学到的类都是大量存在的,这些变量.函数和类的名称将都存在于全局作用域中,可能会导致很多冲突.使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲 ...

  9. thinkphp模型

    1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的&qu ...

随机推荐

  1. JSP内置对象--4种属性范围 (pageContext,request,session,application)

    pageContext: javax.servlet.jsp.JspContext抽象类的父类JspContext 中有以下方法. request:javax.servlet.http.的接口Http ...

  2. QProcess 进程类—调用外部程序

    http://blog.csdn.net/newbee520/article/details/8279101   启动一个新的进程的操作非常简单,只需要将待启动的程序名称和启动参数传递给start() ...

  3. Photoshop 字体

    字体类型: 宋体系列:北宋年间 超粗宋.粗宋,大标宋.小标宋/中宋.宋体 黑体系列:建国初期 (当时写标语,识别度高) 超粗黑 大黑/黑体 中等线/细黑 --广告.画册.宣传册 非正规场合 文字工具( ...

  4. [转]c++ new带括号和不带括号

    ref:http://m.blog.csdn.net/blog/u012745772/42420443 在new对象的时候有加上(),有不加(),不知道这个到底是什么区别?比如:CBase *base ...

  5. VS2013使用技巧汇总

    1. Peek View 在不新建TAB的情况下快速查看.编辑一个函数的代码. 以前要看一个函数的实现,需要在使用的地方点击F12跳转到该函数,实际上这是很浪费时间的.VS2013Peek View便 ...

  6. Arrays类与Array类探究

    这里所说的Arrays类是util包中的java.util.Arrays,Array是反射包中的java.lang.reflect.Array. 首先介绍Arrays类的常用的静态方法: 1.排序方法 ...

  7. 视频 -> 帧 浅析

    原创:转载请注明出处 关于帧率 首先以下几个概念必须弄清楚 1.一个帧就是一个画面 2.视频有无数个帧组成 3.表达时间的量  CMTime 的定义: typedef struct { CMTimeV ...

  8. tiny210V2 Uboot kernel filesystem 烧写和启动

    1.sd启动 将u-boot镜像写入SD卡 将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...

  9. Loadrunner性能测试分类详(二)

    一.基准测试 有基础的标准,这样能通过对比发现系统的不同点与变化. 1.可以再指定的标准下通过基准测试建立一个性能基准,这样以后当系统的环境.参数发生变化后,再进行一次相同标准下的测试,即可看出变化对 ...

  10. selenium RC

    http://blog.sina.com.cn/s/blog_68cb48770100v9c7.html http://www.cnblogs.com/hyddd/archive/2009/05/24 ...