PHP 7 use 语句

 PHP 7 新特性

PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:

实例

实例

// PHP 7 之前版本需要使用多次 use 
use some\namespace\ClassA; 
use some\namespace\ClassB; 
use some\namespace\ClassC as C;

use function some\namespace\fn_a; 
use function some\namespace\fn_b; 
use function some\namespace\fn_c;

use const some\namespace\ConstA; 
use const some\namespace\ConstB; 
use const some\namespace\ConstC;

// PHP 7+ 之后版本可以使用一个 use 导入同一个 namespace 的类 
use some\namespace\{ClassA, ClassB, ClassC as C}; 
use function some\namespace\{fn_a, fn_b, fn_c}; 
use const some\namespace\{ConstA, ConstB, ConstC}; 
?>

 
 
比如我在使用thinkPHP框架的时候我发现在自定义controlle层控制器文件需要使用的Controller类的时候总是有这句

use think\Controller;
一直以来对面向对象还不是很熟,就像刚刚记录的namespace命名空间一样还需要了解一下use语句的使用方法,我去查看到了thinkPHP Library 中controller.php文件中的这一语句:
namespace think;这样以来道理就通了,不至于以后自己写代码的时候不知道怎么用,也即要引用类、函数、常量时一定要指明它们是哪个命名空间里面的,才能使用,面向对象的知识还不熟啊,都怪之前学C++搞蒙了,当初就应该学习Java 啊啊啊,好傻。

随机推荐

  1. HelloWorld程序编写调试及错误解决

    HelloWorld程序编写调试及错误解决 eclipse软件编写 相较于windows内置记事本,eclipse编写程序更为简单快捷.由其生成的程序模板编写如下: package helloworl ...

  2. STS,MyEclipse中Maven配置

    本文以STS的环境做讲解,MyEclipse环境和STS差别不大,配置过程相似. STS是解压版的,启动后,可以看到已经有了Maven插件,, 但是,STS也同时给你了一个Maven,但是通常不建议使 ...

  3. SpringMVC,针对不支持PUT、DELETE提交的游览器处理方式

    在REST服务中必不可少的需要PUT.DELETE提交,但是目前很多的游览器并不支持.所以在使用REST前需要进行一些额外的处理. 具体解决方案如下: 1,先添加一个filter.这个filter就是 ...

  4. validateJarFile jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

    项目环境 Maven.Tomcat7.0.27.jdk1.8.0_111 报这个错误的原因是项目中依赖 javax.servlet-api 包和Tomcat本身的包冲突了,Tomcat本身也有这个包 ...

  5. 转:eclipse与myeclipse恢复已删除的文件和代码

  6. hbase(一)region

    前言 文章不含源码,只是一些官方资料的整理和个人理解 架构总览 这张图在大街小巷里都能看到,感觉是hbase架构中最详细最清晰的一张,稍微再补充几点. 1) Hlog是低版本hbase术语,现在称为W ...

  7. Android -- ContentObserver 内容观察者

    1. 实现原理图 2. 示例代码 (暂时有个问题,短信观察者 收到一条短信时 onchange方法会执行两次, 解决方法为:每次监听到变化的时候就去取最新短信的id,跟上次取的比较,如果一样的就不做处 ...

  8. 用Hibernate框架把hql生成可执行的sql语句-Oracle方言

    引言:为什么这样的需求,源自公司项目需要,公司的项目使用java的struts2+spring2.5+oracle中间件tuxedo,数据库用的是Oracle,但由于不直接连接数据库,用中间件处理的方 ...

  9. angularjs定时任务的设置与清除

    人们似乎常常将AngularJS中 的$timeOut()  $interval()函数看做是一个内置的.无须在意的函数.但是,如果你忘记了$timeOut()$interval()的回调函数将会造成 ...

  10. js实现类名的添加与移除

    方法1:使用className属性: 方法2:使用classList API: //用于匹配类名存在与否 function reg(name){ return new RegExp('(^|\\s)' ...