通过composer创建一个自己写的Packagist包并使用之
写了一个类库,放github开源之后,想着可以用composer管理。操作如下:
一,创建Packagist:
1)访问https://packagist.org/ 点击右上角”submit”,可直接用github账号登录。
2)登录之后会提示你“Repository URL (Git/Svn/Hg)”,check自己的github上的源码,如:https://github.com/lxlxw/api-note-doc
3)composer系统自动检测你的项目中的composer.json(此文件放在项目根目录上)是否合格,并给出原因。如果没有错误的话,请点击提交。
4)成功之后,还可以根据提示继续配置github自动同步功能,这样每次push后,packagist对应包的版本号也会更新。
注composer.json的写法示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "name": "lxlxw/api-doc", "description": "根据注释生成markdown或html形式的接口文档", "type": "library", "license": "MIT", "authors": [ { "name": "lxlxw", "homepage": "https://github.com/lxlxw", "role": "Developer" } ], "autoload": { "psr-4": { "ApiDoc\\": "src/" } } } |
注:composer的加载目录规范可以用psr-0和psr-4。
二,使用composer上的包:
1)安装composer,具体操作方式看官网教程,http://docs.phpcomposer.com/
2)在要使用的项目根目录编写composer.json文件,告诉 Composer 你的项目需要依赖哪些包。
3)获取到定义的依赖到你的本地项目后,只需要调用 composer.phar
运行 install
命令。全局命令为:composer install ,也可以更新依赖包,全局命令:composer update。
4)在你的项目上新增了vendor目录和composer.lock文件,其中vendor目录中有你所要的依赖包。
5)在你的项目入口文件里添加:require ‘vendor/autoload.php’;
6)此时就可以正常使用你所要的依赖包,如:$obj = new ApiDoc\ApiDoc();
注composer.json的写法示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "require": { "monolog/monolog": "1.0.*", "lxlxw/api-doc": "dev-master", "vlucas/phpdotenv": "~2.2" }, "repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } } |
注:
1,”lxlxw/api-doc” 为composer包名,可唯一识别。
2,”dev-master” 为该包的版本号,官网上同样有讲规则。
3,”repositories”是国内镜像。由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。达到加速 composer install
以及 composer update
的过程,并且更加快速、稳定。地址:http://pkg.phpcomposer.com/
发表评论