欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

composer 教程01

程序员文章站 2024-03-24 09:28:52
...

准备工作

安装

$ curl -sS https://getcomposer.org/installer | php 

// 找到 composer.phar 变成全局的命令
$ mv composer.phar /usr/local/bin/composer

// 验证是否成功
$ composer -V
Composer version 1.5.2 2017-09-11 16:59:25

创建 composer.json

$ composer init

composer 教程01

打开文件查看 composer.json

 {
    "name": "xiaoliu/test",
    "description": "描述",
    "license": "MIT",
    "authors": [
        {
          "name": "xiaoliu",
            "email": "490185870@qq.com"
      }
     ],
   "require": {}
 }

那我们这个项目的名称就是xiaoliu/test  下面做的就是发布我们这个包了    

发布我们自己的package

需要的账号
https://gitee.com/  码云
https://packagist.org  Packagist
1、码云上创建一个新的项目 [https://gitee.com/liulonghai/test.git]
2、git clone https://gitee.com/liulonghai/test.git [远程下载]

把composer.json 上传到码云上

$ mv composer.json ./test/ 
$ cd test
$ git add composer.json
$ git commit -m 'composer.json'
$ git push origin master

配置 Packageist

# 复制项目的地址 https://gitee.com/liulonghai/test.git
# 登录 Packageist 点击昵称左边的 submit

composer 教程01
composer 教程01

码云 发行版本
composer 教程01
composer 教程01

packagist 更新版本
composer 教程01

通过composer 下载我们发行的包

我的包是 xiaoliu/test
$ mkdir Mytest
$ cd Mytest
$ composer require xiaoliu/test [后面这里可以跟着版本号]
   如 composer require xiaoliu/test 2.0 版本号不存在的时候会报错。packagist  update 更新会有所延迟 特别是版本更新频繁
$ ll //查看我们更新的文件
    - composer.json 这个是配置文件
    - verdor 所有的包都会在这个目录下
    - composer.look 一个锁文件
$ cat composer.json //可以看出加载我们自定义的test包
    {
        "require": {
            "xiaoliu/test": "1.0"
        }
    }

真正的来开发我们自己的项目包

回到我们 test 目录

$ mkdir src
$ cd src
$ vim my.php
$ vim composer.json

my.php

<?php
    namespace My\test;
    class my{
        public function __construct(){
            echo 'my_construct';
        }
    }

composer.json 添加 autoload

{
    "name": "xiaoliu/test",
    "description": "描述",
    "license": "MIT",
    "authors": [
        {
            "name": "xiaoliu",
            "email": "aaa@qq.com"
        }
    ],
    "autoload": {
        "psr-4":{"My\test":"src"}
    },
    "require": {}
}

上传码云修改的这两个文件

重复上面的步骤
1、码云上发布一个新的版本
2、packagist update
3、进入Mytest 执行 composer require xiaoliu/test 2.0【你发行的版本号】
4、创建文件 index.php
index.php

<?php
    $log = require "vendor/autoload.php";
    // var_dump($log);
    echo PHP_EOL;
    new My\test\my(); [My\test 是我们上传 composer.json 配置的psr-4]

5、php index.php

my_construct 

上面的就是一个简单的列子 主要就是

require "vendor/autoload.php"; 导入自动加载
使用空间命名 调用自己上传的工具类

例子 https://gitee.com/liulonghai/test/tree/master

相关标签: composer