文章目录
心得:
看了这篇文章,让你了解composer的本质,让你想在哪里安装PSR-4在哪安装(在独立项目中,在CI框架中,在原来没有使用的composer的CI框架中),这里让你看透autoload在程序运行过程中起作用的位置、如何起作用的
一、手册、参考文件
PHP-FIG官网
PHP中PSR-[0-4]规范
composer的中文标准文档—之composer.json 完全解析
二、composer下载、安装、初始化、下载composer自带autoload
新文件夹中执行命令
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时,三个文件可以不考虑