notes: 基于 Composer 的 PHP 模块化开发

2021-09-08  本文已影响0人  xcyzjs

笔记来源 overtrue: 基于 Composer 的 PHP 模块化开发

1. what & why

composer 是 php 版本的版本控制工具, 如 js 里的 npm, go 里的 mod.

1.1 composer.json 的组成

其中, 若是一个项目, name 表示 project name, 若是一个包, name 表示 package name

在没有 composer 之前, 靠人工复制粘贴代码, 存在代码安全及 repeat yourself 的问题

1.2 版本号的组成

Major.Minor.Patch

1.2.1 ~, ^ 区别

1.2.2 使用版本号

1.3 版本锁定 composer.lock

使用说明, 发布包不要携带 .lock 文件, 项目则一定要携带 .lock 文件

注意: 项目不要直接使用 composer update, 如有需要, 应该单独给指定包进行 composer update package...

2. how

2.1 创建一个包

$ mkdir my-package && cd my-package
$ composer init

2.2 使用(测试)自己创建的本地包

# 另起一个 project
$ mkdir my-package-test
$ cd my-package-test
$ composer init
# 添加 repositories 项目
#  - type 为 path
#  - url 使用相对路径指向 my-package
# require 中 添加 yourname/my-package: *
$ composer install

也可以使用 composer config repositories.foo path /users/test/foo/bar 来给 composer 添加项目源, 然后就可以使用 composer require foo/bar:dev-master -vvv 进行安装.

? 实际上并非复制到 vendor 目录里, 而是一个软链接, 从而可以直接在 vendor 里修改包 ?

2.3 安装官方(packagist.org)依赖包

写完后可以使用 composer validate 进行验证是否有编辑错误

2.4 更新依赖

上一篇 下一篇

猜你喜欢

热点阅读