分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

PHP命令空间namespace及use的用法实践总结

发布时间:2023-09-06 02:07责任编辑:郭大石关键词:PHP

看PHP中的命名空间和use

namespace app\admin\model;use think\Model;use think\Db;

综上可以看出,命名空间就是相当于一个文件夹的路径。

同一个命名空间下,不能有相同的类文件。

同名的类文件可以存在于不同的命名空间下面。

用了命名空间,可以方便的调用其他文件夹下的文件。

只需要通过using、import、use引入命名空间下的文件即可。

从5.3开始你可以使用命名空间来组织你的代码了。 不同的命名空间内可以包含相同名字的类、函数以及常量。 声明一个命名空间非常简单,只需要在文件的开始处加上namespace 语句,像下面这样
?

从5.3开始你可以使用命名空间来组织你的代码了。 不同的命名空间内可以包含相同名字的类、函数以及常量。 声明一个命名空间非常简单,只需要在文件的开始处加上namespace 语句,像下面这样
?

  1. <?php
  2. /** classes/my/foo/MyClass.php */
  3.  
  4. namespace my::foo;
  5.  
  6. class MyClass {}//定义一个类
  7.  
  8. // 当然,也可以定义函数和常量
  9. function myFunc() { }
  10. const MY_CONST = ‘foo’;
  11.  
  12. ?>

有多种方法来访问

    1. <?php
    2. /** test.php */
    3. include(‘classes/my/foo/MyClass.php’);
    4.  
    5. // 可以随时通过完整的名称来访问一个类
    6. $foo = new my::foo::MyClass();
    7.  
    8. // 还可以使用use语句来导入一个命名空间
    9. use my::foo;
    10. // 然后,通过foo来引用 my::foo这个命名空间
    11. $foo = new foo::MyClass();
    12.  
    13. // 也可以只导入一个类
    14. use my::foo::MyClass;
    15. $foo = new MyClass;
    16.  
    17. // 可以为命名空间或者命名空间中的类创建别名
    18. use my::foo as MyFoo;
    19. use my::foo::MyClass as MyFooClass;
    20. $foo = new MyFoo::MyClass();
    21. $foo = new MyFooClass();
    22.  
    23. // 注意, 下面的两种写法是等价的:
    24.  
    25. use my::foo;
    26. use my::foo as foo;
    27.  
    28. // 也可以用同样的方法来访问函数和常量
    29. my::foo::myFunc();
    30. myFoo::myFunc();
    31. my::foo::MY_CONST;
    32. myFoo::MY_CONST;
    33.  
    34. ?>

use 语句只能导入命名空间和类,下面这种写法就不行: use my::foo::MY_CONST;。一个use语句的有效范围是从它被定义开始直到文件的结尾,你可以在全局范围内任何地方使用它。 你可以在多个文件中使用相同的命名空间。但是一个文件只应该包含一个命名空间 (这一行为可能会在最终版本中被改变,也可能用package来替换namespace关键字 :))。 尽管不能import一个函数或者常量, 但是仍然可以使用一些前缀来从命名空间中访问他们。在PHP 5.3的早期版本中,import 关键字被用来代替 use, 现在这一点已经被改变

PHP命令空间namespace及use的用法实践总结

原文地址:https://www.cnblogs.com/keta/p/9407339.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved