PHP标准规范之-composer 自带autoload使用【最简单、最底层的用法】

2019-05-25 19:37:37 浏览数 (1)

文章目录
  • 一、手册、参考文件
  • 二、composer下载、安装、初始化、下载composer自带autoload
  • 三、如何使用这个autoload
    • 重点:

  • 四、composer和composer.json和PHP入口文件index.php的关系
    • 不懂:
  • 源码解读

心得: 看了这篇文章,让你了解composer的本质,让你想在哪里安装PSR-4在哪安装(在独立项目中,在CI框架中,在原来没有使用的composer的CI框架中),这里让你看透autoload在程序运行过程中起作用的位置、如何起作用的

一、手册、参考文件

PHP-FIG官网 PHP中PSR-[0-4]规范 composer的中文标准文档—之composer.json 完全解析

二、composer下载、安装、初始化、下载composer自带autoload

新文件夹中执行命令

代码语言:javascript复制
 composer init
 composer install

执行后显示 Generating autoload files(自动添加 autoload.php)

三、如何使用这个autoload

重点:

1、必须在composer.json里面注册你要使用的命名空间 2、use 命名空间路径类名(类名、文件名必须相同) 等效于 直接new 命名空间路径类名 3、想要用use,其文件来源处必须包含namespace。否则只能直接用require。(形式上require xxx/autoload.php use xxx == require xxx.php) 4、use 后面跟的是类名 非 文件名

四、composer和composer.json和PHP入口文件index.php的关系

1、composer命令、配置composer.json再配合composer update的作用:本质是不参与运行的配置文件 下载文件,设置名称、路径、自动加载方式 2、执行流程中composer.json是怎么参与进来的(autoload为例):

  • composer.json中配置
  • composer update 更新到vendor/composer/下的文件
  • PHP 入口文件中加入autoload.php,既可使用psr-4规范了
不懂:

既然是引用,为什么引用的文件不能直接输出,而必须是类的形式 难道更准确的理解是:“加载”、“加载类”???

源码解读

PHP_VERSION_ID大于50600时,三个文件可以不考虑

0 人点赞