zoukankan      html  css  js  c++  java
  • Composer 很重要很重要 内核 原理

    话题先攒着,过来再来写

    先来一张原理图

    composer的原理和其他的包管理工具都是一样的,只是实现的细节有些不同,例如yum,例如brew,例如apt-get还有packets。

    使用自己的composer库

    1.首先我们要搞定本地,也就是图上本地的composer.json

    可以使用命令或者自己创建

    composer init #创建一个composer.json文件
    composer install #第一次从远处仓库拉去php包的时候执行
    composer update #修改本地的composer.json后执行
    composer about #查看composer的信息
    composer info
    composer self-update#composer自己更新
    composer --check#查看帮助
    composer require  #包含一个php包进来
    remove 移除一个包
    本地的必要配置如下
    
    {
        "repositories": [
            {
                "type": "vcs",
                "url": "git@github.com:baixiaoshi/composer_test.git"
            },
            {
                "packagist": false
            }
        ],
        "require": {
            "hello/hello": "dev-master"
        }
    }
    #这是一个最简短的配置,现在要拉去github上的一个名字叫做hello/hello的php包
    repositories : 就是php远端仓库的地址啦,这里我用的类型是vcs也就是版本控制github上自己的测试包
    packagist : 这里是禁用了官方的包仓库地址,
    我们可以配置官方的地址来拉去php包
    {
        "type": "composer",
        "url": "http://packagist.phpcomposer.com"
    }
    require选项包含远端php包,其中hello/hello是包的名字,所以待会我们自己创建一个包的名字也就是这个了,dev-master是版本的意思,我们经常看到这样的吧
    {
        "monolog/monolog": "~0.1" #~号表示大于的意思
    }

    2.下面就来搞定远端了,客户端的配置明显是要拉去一个名字叫做hello/hello,版本是dev-master的包,那就直接来了

    {
        "name": "hello/hello",#包的名字,客户端要找这个的啦
        "autoload": {
            "psr-4": {
                "Hello\": ""#这里设置包拉下来自动加载包里面的那些文件,是通过命令空间来自动加载的哦
            }
        },
        "require": {
            "php": ">=5.4.0"#如果有对其他的一些包的依赖还是require在这里就好了
        }
    }
    
    <?php
    namespace Hello;#这个命名空间就是上面autoload配置中的啦
    class Hello {
        public function say_hello() {
            exit('hello world');    
        }
    }

    3.回到客户端执行composer install 当然就拉下来了这个包,当然只有一个测试文件而已。

  • 相关阅读:
    python中的if...else...、while、for
    linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow
    [国家集训队]middle
    [SCOI2007]修车
    基本图论-连通分量(强/弱联通 割点/边 边/点双)
    [NOI2008]奥运物流
    [NOI2008]假面舞会
    [NOI2008]设计路线
    [SCOI2009]windy数
    [SCOI2013]多项式的运算
  • 原文地址:https://www.cnblogs.com/datang6777/p/7003585.html
Copyright © 2011-2022 走看看