PHP5.6对命名空间的扩展,use可以导入函数与常量空间
2017-06-06 19:56
645 查看
php版本 > 5.60
1、解决命名冲突
2、导入类、函数、常量
3、赋予别名
test1.php
test2.php
1、解决命名冲突
2、导入类、函数、常量
3、赋予别名
test1.php
namespace Demo1; class test1 { private $name = 'bigboy'; public function getName(){ return $this->name; } } function test($n,$m){ return $n*$m; }
test2.php
namespace Demo2; use Demo1\test1; //此处的use是从全局开始的,所以第一个\是可以省略的 use function Demo1\test; class test1 { private $name = 'bigmax'; public function getName(){ return $this->name; } } function test($n,$m){ return $n+$m; } echo (new namespace\test1)->getName();//这里指的是当前命名空间demo2下的test1 echo '<hr>'; echo (new test1)->getName(); //这里指的是引入的Demo1\test1 echo test(4,5); //非限定 echo '<hr>'; echo \Demo1\test(4,5); //完全限定 可以使用use关键字,来简化这种导入 /** * 总结,当我们导入的类,与当前脚本中的类重名的时候,如果你直接使用非限定名称来访问类的话呢,ps:限定名称是指有命名空间前缀 * 会默认将当前导入的类名称的前缀,添加到当前的非限定类上,也就是上面的 (new test1) * 如果你想访问当前脚本中的同名类呢,要加入namespace\ ,否则你就访问不到了 * * * 从php5.6开始,不仅仅可以导入类,还可以导入函数、常量 * use funcion My\Full\functionName; * * use const My\Full\CONSTANT; * * 当类被赋予namespace的时候,比如demo1\test1,那么这个test1就不是全局的了,他是属于空间demo1下面了 * 而当前的test1,他是全局的 * * * * * * */
相关文章推荐
- PHP命名空间 namespace 及导入 use 的用法
- PHP基础之命名空间8——后备全局函数/常量
- PHP 使用use语句来导入一个命名空间
- PHP命名空间namespace定义及导入use用法详解
- PHP 5.6.0发布 use关键字可导入函数与常量
- PHP命名空间 namespace 及导入 use 的用法
- php namescpace 命名空间use引入文件
- PHP 命名空间以及自动加载(自动调用的函数,来include文件)
- php namespace use 命名空间
- php5.6及其以上版本有了新特性,函数可以传入不定数目的参数
- 避免使用PHP保留字作为常量、类名和方法名,以及命名空间的命名
- PHP 命名空间namespace 和 use
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clone 函数
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clear 函数
- PHP 命名空间 namespace 函数调用 类引用 详解
- C++中遇到同名函数问题,可以使用命名空间解决
- php命名空间里面的use关键字的理解
- hbuilder的aptana php插件无法提示命名空间之外函数和对象的解决办法
- PHP命名空间和别名/导入(摘要)
- 关于php 命名空间 和 use not found class