美文网首页php文录
php你需要了解的composer使用

php你需要了解的composer使用

作者: Best博客 | 来源:发表于2019-08-23 12:16 被阅读0次

    上资料

    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***9592@163.com"       //自定义作者邮箱
            }
        ],
        "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使用

        本文链接:https://www.haomeiwen.com/subject/ecezsctx.html