命名空间与composer

24 篇文章 1 订阅
3 篇文章 0 订阅

命名空间

命名空间定义方式:在"<?php"标签后的第一行声明,这个命名空间声明语句后声明的所有php类、接口、函数和常量都在这个命名空间中。也可以使用子命名空间,使用\符号把命名空间和子命名空间分开。在同一个命名空间中的类没必要全部在同一个php文件中声明,可以在多个php文件的顶部指定同一个命名空间或子命名空间,此时这个文件的代码就是该命名空间或子命名空间的一部分,因此我们可以在不同文件中编写属于同一个命名空间的多个类。

<?php 
namespace Illuminate\Http;

命名空间的作用、好处?

  • 解决用户编写的代码与php内部类、函数、常量或第三方类、函数、常量之间的名字冲突。
  • 为很长的标识符创建别名,减少代码量,提高可读性。tp3.2、php5.3以上

获取方式

使用魔术常量__NAMESPACE__获取当前命名空间的名称。

use namespace的工作流程

 

使用use关键字导入所use的类,但它只是声明某个类的完整类名(命名空间::类标识符),只有在使用这个类的时候系统才会根据use声明获取这个类的完整类名,然后利用自动加载机制进行载入。

 

Composer

Composer是安装和管理php组件的工具,所以了解composer前,必须清楚组件的概念。

组件

第三方类库、开发者包、代码工具包其实都可以称之为为组件,本质是一组打包的代码,是一系列相关的类、接口和trait,用于帮助我们解决php应用中某个具体问题。

 

//安装方法
composer require "overtrue/laravel-lang:~3.0"

compser

目前非常流行的composer就是一个基于命名空间的依赖关系管理工具。能管理php项目所需要的所有依赖关系。composer运行在命令行中,通过简单的命令告诉composer需要哪些组件,composer就会把组件下载下来并自动加载到项目中(免去开发者使用include、require、sp_autoload_register来手动实现自动加载的痛苦)。composer命令安装依赖时会将依赖安装到根目录的vender目录下,自动生成composer.json(定义了当前项目的依赖项,以及依赖项的一些相关信息)和composer.lock文件(列出项目中使用的所有组件以及组件的具体版本号,锁定了项目,让项目只能使用具体版本的php组件)。

如果开发时没有composer,要用到第三方的类库,就必须去下载zip包,然后解压放到相应的目录下,处理好命名空间和自动加载的问题,才能使用。

但有了composer,开发人员只需要几个命令就能获取其他开发者的包,完美的解决了项目的依赖关系,且实现了自动加载。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值