php你需要了解的composer使用

上资料

composer中文文档
自己写一个composer包干货流程

如果你不想看文档,也可以看下面.
1.你只需要在你本地创建一个composer.json文件

  1. 然后copy一下下面的内容,修改一下下面自定义项的内容(easy),然后:composer install
{
    "name": "lingyuyizhipao/http",                    //自定义项目名称
    "description": "对guzzle的二次封装",        //自定义项目描述
    "type": "library",                                        
    "require": {                                             
        "php": "^7.0",
        "guzzlehttp/guzzle": "^6.3"
    },
    "require-dev": {
        "php": "^7.0"
    },
    "license": "MIT",
    "authors": [
        {
            "name": "hugo",                                //自定义作者名称
            "email": "1314***[email protected]"       //自定义作者邮箱
        }
    ],
    "minimum-stability": "dev",
    "autoload": {
        "psr-4": {
            "Lingyuyizhipao\\": "src/", //psr-4标准,它会以当前的composer.json为参照路径,Lingyuyizhipao 是命名空间名,src是更composer.json同级别路径下的src文件夹名称,这么一行代码,就给src文件夹声明了一个 Lingyuyizhipao 的命名空间,后面这个文件夹下的所有class文件,都需要你以 namespace Lingyuyizhipao  ,最终的结果就是,你可以在你的业务层   \lingyuyizhipao\test::getInstance()   这样的形势去调用了,一劳永逸.
            "Help\\": "common/help/"             
        }
    }
}

分析:

在执行了composer install,composer update , composer dump-autoload 这种会重新组织composer底层关联关系的语句,它会更新 vendor\composer\autoload_psr4.php 这个文件,里面就是这样子的内容了,一看便知composer自动加载原理了,当然这是psr-4的标准(也是官方推荐的),其他标准的作用原理一样,vendor\composer\ 文件夹下为每一个便准都准备了一个autoload_.... 前缀的文件呢,打开便知(跟psr-4大同小异)

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
    'Lingyuyizhipao\\' => array($baseDir . '/src'),
    'Help\\' => array($baseDir . '/common/help'),
    'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
    'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
    'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
);

总结:

1.上面说那么多,可是不依赖任何的,所以你可以建立一个空文件夹玩起来
2.你按照上面的标准写好的code,是可以上传到php-composer中国镜像仓库的,然后别人就可composer require 的形式来装你的包进行使用了 自己写一个composer包干货流程 这里面也有教你怎么把写好的包传到composer中国镜像里面去

常用命令

composer install
composer init
composer update
composer update vendor/easywechat   //更新某一个包
composer require
compose dump-autoload   //更新composer.json

你可能感兴趣的:(php你需要了解的composer使用)