TP5 namespace 和 use 的用法
PHP 命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物。 不过在PHP当中还是有着相当重要的意义。
PHP 命名空间可以解决以下两类问题:
用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。
参考来源:http://www.w3cschool.cn/php/b298tfl0.html
PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:
参考来源:http://www.w3cschool.cn/php/php-use-statement.html
<?php //inc.php 用来作测试的文档 namespace Aaa\Bbb; class MyClass{ public $val = '阅谁问君诵,'; static $val2 = '水落清香浮。'; function myFun(){ return 'onestopweb.iteye.com'; } }
<?php header('Content-Type:text/html;charset=utf-8'); //第一种,使用全称来访问 require 'inc.php'; $myClass = new \Aaa\Bbb\MyClass(); echo $myClass->val; echo $myClass::$val2; echo $myClass->myFun();
<?php //第二种,使用 namespace 来访问 namespace Aaa\Bbb; //调整当前脚本到Aaa\Bbb这个ns域,而且 namespace 申明必须在第一句 header('Content-Type:text/html;charset=utf-8'); require 'inc.php'; $myClass = new MyClass(); echo $myClass->val; echo $myClass::$val2; echo $myClass->myFun();
<?php header('Content-Type:text/html;charset=utf-8'); //第三种使用 use 来访问 require 'inc.php'; use Aaa\Bbb\MyClass; //这样MyClass就等于Aaa\Bbb\MyClass $myClass = new MyClass(); echo $myClass->val; echo $myClass::$val2; echo $myClass->myFun();
<?php header('Content-Type:text/html;charset=utf-8'); //第四种使用 use as 来访问 require 'inc.php'; use Aaa\Bbb as AB; //AB = Aaa\Bbb $myClass = new AB\MyClass(); echo $myClass->val; echo $myClass::$val2; echo $myClass->myFun();
效果图:
相关推荐
Noneyes 2020-11-10
huavhuahua 2020-11-20
weiiron 2020-11-16
ailxxiaoli 2020-11-16
cakecc00 2020-11-15
千锋 2020-11-15
JakobHu 2020-11-14
chensen 2020-11-14
Nostalgiachild 2020-11-13
guangcheng 2020-11-13
zhangxiafll 2020-11-13
jipengx 2020-11-12
xirongxudlut 2020-11-10
solarLan 2020-11-09
pythonxuexi 2020-11-08
文山羊 2020-11-07
susmote 2020-11-07
wuShiJingZuo 2020-11-05
Pythonjeff远 2020-11-06