composer 是php用来管理依赖关系的工具
详情可以阅读:https://www.phpcomposer.com/
安装 见 https://www.phpcomposer.com/
开发流程
初始化自己的扩展包 composer init
$ composer init welcome to the composer config generator this command will guide you through creating your composer.json config.package name (<vendor>/<name>) [administrator/self_composer]: victor/composer-self //包名称-不能大写,否则无效 description []: composer-self package //描述author [victor24680 <490319148@qq.com>, n to skip]://作者minimum stability []: dev //最小稳定版本package type (e.g. library, project, metapackage, composer-plugin) []: library //类型license []: mitdefine your dependencies.would you like to define your dependencies (require) interactively [yes]? n //是否定义依赖关系would you like to define your dev dependencies (require-dev) interactively [yes]? n{ "name": "victor/composer-self", "description": "this is a composer-send package", "type": "victor", "license": "mit", "authors": [ { "name": "victor24680", "email": "490319148@qq.com" } ], "minimum-stability": "dev", "require": {}}do you confirm generation [yes]? yes
修改自己包的依赖关系,修改内容如下
{ "name": "victor/sendtool-package", "description": "sendtool package", "type": "victor", "license": "mit", "authors": [ { "name": "victor24680", "email": "490319148@qq.com" } ], "minimum-stability": "dev", "require": { "php": ">=5.6" //php版本要求 }, "autoload": { "psr-4": { //加载规范 "app\\": "src/app", "contract\\": "src/contract" } }}
编写好源码 见:https://github.com/victor24680/self-composer/tree/master/src
安装测试 composer install
$ composer installloading composer repositories with package informationupdating dependencies (including require-dev)content-length mismatch, received 37487 bytes out of the expected 2005372http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of datenothing to install or updatewriting lock filegenerating autoload files
github上创建composer-self仓库
git initgit add .git commit -m "初始自己的组件库"git remote add origin https://github.com/victor24680/self-composer.gitgit push origin master
packagist 上提交自己的github创建的composer-self仓库地址
注册地址:https://packagist.org/,提交成功之后,就可以开始下面的测试
测试 ,a目录代表项目根目录
创建一个a目录,然后在项目根目录下执行:composer require victor24680/self-composer dev-master
$ composer require victor24680/self-composer dev-master./composer.json has been updatedloading composer repositories with package informationupdating dependencies (including require-dev)package operations: 1 install, 0 updates, 0 removals - installing victor24680/self-composer (dev-master 0935c75): cloning 0935c75eda from cachewriting lock filegenerating autoload files<?php#项目根目录/index.phpinclude "vendor/autoload.php";use app\commoninfo;use app\zn;$app=new commoninfo(new zn());echo $app->msg('小明','隔壁老王在偷吃!!!');//输出:【站内消息】发送给:小明|发送内容:【普通消息】隔壁老王在偷吃!!!
至此,一个完整的自己的composer组件包,开发完成。
以上就是如何用composer开发自己的php扩展包的详细内容。
