搭建自己composer 包

小白 2020-08-25 Composer


搭建自己composer 包


参考地址博客

1 https://blog.csdn.net/guyan0319/article/details/79596211

2https://www.cnblogs.com/xingxia/p/composer_packagist.html

本文以2为试例:

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

这种想法并不新鲜,Composer 受到了 node’s npm 和 ruby’s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。

Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

哦,Composer介绍的很牛逼的样子,那么如何创建一个自己的Composer 包呢,现将具体过程奉上。注:操作系统(centos7)。

一、准备工作

  • 注册一个Composer Hub账号(如果有略过)。

  • 注册一个GitHub 账号(如果有略过)。

  • 安装git 命令: yum install git

  • 安装composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer12

想学习composer的同学请移步composer中文

二、创建目录

cd /var/www/
mkdir mycdemo

三、在/var/www/mycdemo目录下,创建composer.json

{
    "name": "guyan/mycdemo",
    "description": "demo",
    "type": "library",
    "license": "mit",
    "authors": [
        {
            "name": "guyan0319",
            "email": "guyan0319@sohu.com"
        }
    ],
    "minimum-stability": "dev",
    "prefer-stable": "true",
    "require": {
      "php": ">=7.0"
    },
    "autoload": {
    "psr-4": {
      "User\\Client\\": "src/User/Client"
    }  }}12345678910111213141516171819202122

也可以通过 composer init 初始化扩展包,然后修改composer.json增加自动加载规范(命名空间和目录映射关系)和环境要求。

composer init 实例

{
    "name": "xwolf/web-tool",
    "description": "common tool kit",
    "type": "library",
    "keywords": [
        "Tools",
        "Library"
    ],
    "homepage": "https://github.com/lanlangdeai/WebTool",
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "lanlang",
            "email": "liaotiam@126.com",
            "role": "Developer"
        }
    ],
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0"
    },
    "autoload": {
        "psr-4": {
            "WebTool\\": "src/"
        }
    }
}

四、创建类文件 Client.php

mkdir srcmkdir src/Usermkdir src/User/Client1234

在 /var/www/mycdemo/src/User/Client下,创建Client.php

<?php/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/17
 * Time: 22:47
 */namespace User\Client;


class Client
{    /**
     * No explanation
     *
     * @author Zhiqiang Guo
     * @return void
     * @throws Exception
     * @access public
     */
    public function index ()
    {
        echo "this is client";
    }

}123456789101112131415161718192021222324252627

五、测试

运行

composer  install1

查看 vendor/composer/autoload_psr4.php 中生成命名空间和目录的映射关系

QQ截图20200825105417.png

增加.gitignore为git忽略一些文件

vendor/
composer.lock12

六、提交代码到github

1、登录github创建一个项目 

然后再到composer 去创建bao 填写git仓库地址 

后面不详细说明了,有问题请参考博客地址:

https://www.cnblogs.com/xingxia/p/composer_packagist.html

头部也有推荐地址




站点信息