开发一个本地 composer 包

mervyn 2018年2月23日22:12:47PHP评论7

当我们用版本控制系统(如 git 、github 等)去开发一个 composer 包时是比较好的一种方式,但是当我们项目启动刚开始的时候,需要频繁地进行提交、更新操作。如何在没有 github 、git 、svn 之类的环境下如何开发一个自己的 composer 包就是我们接下来要讲解的内容了。文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

创建目录、composer初始化

首先为我们的要开发的composer包初始化一个目录,如下操作:文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

cd ~/workspace/www
mkdir DateHelper
composer init

然后按照composer的提示填写对应composer包的内容即可,执行完后生成的 composer.json 内容类似如下:文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

{
    "name": "mervyn1205/date-helper",
    "description":"a light date helper for php",
    "type": "library",
    "license": "MIT",
    "minimum-stability": "dev",
    "authors": [
        {
            "name": "Mervyn",
            "email": "404245127@qq.com"
        }
    ],
    "require": {
        "php": ">=5.4.0"
    },
    "autoload": {
        "psr-4": {
            "DateHelper\\": "src\\"
        }
    }
}

开发该composer

DateHelper目录结构如下:文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

├── composer.json
├── LICENSE
├── README.md
├── src
│   └── DateHelper.php
└── tests文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

其中 src 目录就是 composer 包实际代码放置的目录了。文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

这里需要注意的是 composer 包对应的命名空间。文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

本地使用composer包

进入需要应用该 composer 包的项目目录,引用该composer包即可。文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

cd /www/web/project
touch composer.json

composer.json 内容如下:文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

{
    "require-dev": {
        "mervyn1205/date-helper": "@dev"
    },
    "repositories": [
        {
            "type": "path",
            "url": "~/workspace/www/DateHelper"
        }
    ]
}

执行composer install 然后加载composer的autoload文件即可。文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

如果你的composer包已经开发完毕,可以提交到 https://packagist.org ,这样别人就可以直接通过 composer require 的方式引用你开发的 composer 包了。文章源自Mervyn's Blog-https://mervyn.life/550f9f22.html

weinxin
我的微信公众号
微信扫一扫
mervyn
PHP 将16进制字符转换成汉字 PHP

PHP 将16进制字符转换成汉字

项目代码提供给外部的api,有些参数是中文的。发现有些客户在请求接口的时候,参数的值被转成了16进制,从而导致接口无法正常解析。 此时可以采用如下方法进行转移: <?php $param = &...
PHPStorm 更改 PHP 版本号 Tools

PHPStorm 更改 PHP 版本号

PHPStorm 默认的 PHP 版本是 5.4, 当我们用服务器使用的是 PHP7 时,经常会出现语法错误的提示,这个时候需要将 PHPStorm 中的 PHP 版本进行修改才行。操作步骤如下: P...
Elasticsearch-PHP 遇到的坑 PHP

Elasticsearch-PHP 遇到的坑

大数据量分页查询报错 问题详情 在用elasticsearch-php分页查询时,分页几次后报错,错误内容如下: { "error":{ "root_cause"...
CGI , FastCGI , PHP-CGI 与 PHP-FPM 对比 PHP

CGI , FastCGI , PHP-CGI 与 PHP-FPM 对比

CGI CGI全称是“公共网关接口” ( Common Gateway Interface ),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: