首先去github建立一个新的库
将包clone到本地。
打开包文件,使用composer init命令初始化包
在composer.json中编写自动加载
"autoload": {
"psr-4": {
"Hellocomposer\\": "src/Hellocomposer",
"Hellocomposer\\HelloWorld\\": "src/Hellocomposer/HelloWorld"
}
在包中编写一个简单的文件,输出 hello world
在本地测试一下包的安装。
执行composer install
会生成一个vendor文件夹,其中autoload_psr4.php中,如果发布成packagist包然后进行安装的话,到时候这里就不是$baseDir了而是$vendorDir。
将包提交到git
$ git add -A;git commit -am "hello";git push;
访问 packagist submit 当然前提是你已经注册并登陆了。
提交成功
测试一下包能不能用
$ cd ../ ; mkdir use-composer-hello ; cd use-composer-hello;
新建composer.json文件
写入
{
"minimum-stability": "dev",
"require": {},
"require-dev":{
"xionggang/hellocomposer":"dev-master"
}
}
composer install
写一个demo.php
* Date: 17/8/27 * Time: 下午10:10 */ require './vendor/autoload.php'; use Hellocomposer\HelloXiong; use Hellocomposer\HelloWorld\World; $xionggang = new HelloXiong(); $world = new World(); $xionggang->info();
执行 php demo.php
use-composer-hello xionggang$ php demo.php
hello xiong gang composer
虽然包发布成功了,但是还是一个测试版,直接安装会报错,
composer require xionggang/hellocomposer
[InvalidArgumentException]
Could not find package xionggang/hellocomposer at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability
需要加上dev-master 才行。因为这还不是一个正式的版本。