首页 存档 技术 查看内容

如何创建一个自己的 Composer 库

2018-3-30 13:00 |来自: 互联网 320 0

摘要: 原文地址:http://www.tuicool.com/articles/uAjyae 如何创建一个自己的Composer库 1.1 什么是Composer 一句话:Composer是PHP的一个依赖管理工具,类似于java中的maven, node 中npm, iOS中的cocoapod。它会在你的项 ...

原文地址:http://www.tuicool.com/articles/uAjyae

如何创建一个自己的Composer库

1.1 什么是Composer

一句话:Composer是PHP的一个依赖管理工具,类似于java中的maven, node 中npm, iOS中的cocoapod。它会在你的项目中为你安装这些依赖的库文件代码,如果想了解Composer如何安装,以及入门使用,请参考这里http://docs.phpcomposer.com/00-intro.html, 本文重心是: 开发一个自己的Composer库。

1.2 准备工作

网上分享如何自定义Composer库的文章不少,但不够详尽,尤其是对初学者来说,会有坑,因此毛遂自荐,在此做一下分享,在开始前你需要准备几个账号:

  1. github账号 :https://github.com

  2. packagist账号:https://packagist.org(也可以使用github账户授权登录)

当然并不是必须用github账号,用你自己私有的git仓库也可以,你至少要告诉Composer你的代码放在哪里,它会主动去拉去代码,然后放如packagist中(Composer最大的托管仓库)本文我们将把代码放在github上进行托管。

packagist是Composer默认也是最大的托管仓库地址,你提交的代码会默认收录到这里,因此你需要一个账号,你需要把push到github的代码submit到这里即可。

1.3 开始创建本地库

mkdir WebUtil
cd WebUtil
composer init

composer init会在WebUtil目录下构建一个composer.json文件,表示这是一个符合composer规范的项目,并且会交互式提示你输入一些项目信息,但是里面最重要的估计就是:

Package/name

上述字段希望你填写好这个项目的[包名/项目名称], 当然你可以任性点,来个[xxoo/test]都可以,这个会作为你发布的项目本地址包名,如果你真用这个名词,那么一旦这个发布出去,那么别人在使用你这个代码仓库时, 文件头或者代码行会引入这个包名:

use xxoo\test;

当然本文创建的项目不叫这个名字,因为在日常开放中,我发现有些重复的代码可以提取为工具类,所以我创建了一个叫:[apptut/web-util]项目,你可能注意到了,此处我没有使用驼峰,而且名称里还多了一条横线,这是composer的自动处理的,咱忽略不计。

至于apptut是我在github账号名,因此我用这个做了包名,当然你可以坚持使用xxoo, 无妨。

1.3.1 工具库实现

这个工具库很简单,我把日常用到的php对CURL常用的http请求做了一个封装,常用的请求:GET和POST请求,代码大致如下:

class CURLUtil{
    public static function get($url, $header = []){} 
    public static function post($url, $data, $header = []) {}
}

具体代码,请参见:https://github.com/apptut/WebUtil/blob/master/src/CURLUtil.php

实现好这个库后,我们最后需要来看一下composer.json这个文件,内容如下:

{
    // 省略相关内容
    "require": {
        "php": "
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部