<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC=2] >## composer對PHP的作用 現在的世界是要求快速的,如果每個項目都從頭開始寫,顯然不現實,而且質量也得不到保證。PHP有大量開源的項目,如何想自己的項目中使用這些PHP項目,就是**composer**做的事。 MVC中常用的**ORM**,如果你要造一個自己的MVC框架,不可能自己寫,那去哪里找這些php的ORM庫呢,怎么很好地在項目中引用呢?這就是composer做的是。 說白了,composer就是nodeJS的npm,一個php的包管理工具 >## composer與pear、pcel 你可能聽說過pear和pcel,這且這兩個名字還很像,容易混淆。pear和composer的功能是一樣的,只是沒有composer好,目前pear已經被淘汰。而pcel和兩者不同,它是安裝php擴展的,比如GD庫、PDO擴展、CURL擴展,這些擴展是使用C編寫的,是PHP底層擴展。 >## composer工作原理 ![composer update的整個過程](https://box.kancloud.cn/38d18685274465fcff0c178c9b1d6e15_1240x781.png) 這里經過幾個步驟: 1.composer讀取composer.json,這個json是在當前執行composer目錄的 2.composer通過讀取到的json數據去[Packagist.org](https://packagist.org/)獲取各個包的包名、作者、下載URL等信息。下載URL經常是GitHub上面的,因為目錄的代碼大部分都托管在GitHub上面嘛。 3.將從[Packagist.org](https://packagist.org/)獲取到的元數據存放到當前目錄的composer.lock中 4.composer讀取composer.lock中的元數據,根據元數據一次下載包,并且放到當前目錄的vender目錄里面 composer有不少常用的命令,比如composer install 、composer update、composer require。這三個命令都是會下載php類庫的,composer update 會將步驟1、2、3、4都執行一遍,所以下載的類庫是composer.json配置中匹配搭配的最新類庫,而composer install,只是執行步驟4。 composer require 會將配置寫入composer.json,然后執行步驟1、2、3、4 或許你會問,如何知道不同的包他們的配置是怎么寫的,這個你就要去[Packagist.org](https://packagist.org/)了,每個開源項目都會有安裝和使用方法的。而且很簡單哦:) >## composer安裝 composer安裝腳本也是使用php寫的,執行鞋面的命令下載compsoer的安裝腳本,并使用php 執行它就可以安裝composer的命令行工具composer.phar到php的bin目錄下面。 ``` curl -sS https://getcomposer.org/installer | php ``` **或** ``` php -r "readfile('https://getcomposer.org/installer');" | php ``` 原理: curl -sS https://getcomposer.org/installer 將會輸出`https://getcomposer.org/installer`這個文件的內容到界面上,通過 管道 `|`傳遞給`php`,`https://getcomposer.org/installer`就會被執行,這是一個php文件,作用是下載`composer.phar` `php -r "readfile('https://getcomposer.org/installer');" | php`的原理也是一樣的。 >[info]因為下載和執行php需要時間,所以請耐心等待幾分鐘 **安裝到命令行** 你可以將此文件放在任何地方。如果你把它放在系統的 PATH 目錄中,你就能在全局訪問它。 在類Unix系統中,你甚至可以在使用時不加 php 前綴。 ``` sudo mv composer.phar /usr/bin/composer ``` **現在只需要運行 composer 命令就可以使用 composer 而不需要輸入 php composer.phar。** **下載七牛云SDK:** >composer require qiniu/php-sdk - 中國化composer 將composer的pakagist庫地址修改為中國全量鏡像地址: ``` composer config -g repo.packagist composer https://packagist.phpcomposer.com ``` >## composer卸載包 雖然前面講解了原理,并且一步步做了安裝示例,但是卸載包還是要講一下。 正如前面說的,`composer update`會將步驟1、2、3、4都執行一遍,所以,只要我們將`composer.json`修改了,然后執行`composer update` 就重新安裝整個庫了,自然那些不再`composer.json`的包也就不見了,以七牛云為例: 在composer.json中刪除`"qiniu/php-sdk": "^7.1"`: 刪除前: ~~~ "require": { "php": ">=5.4.0", "topthink/framework": "^5.0", "qiniu/php-sdk": "^7.1" }, ~~~ 刪除后: ~~~ "require": { "php": ">=5.4.0", "topthink/framework": "^5.0" }, ~~~ ~~~ #重新安裝整個庫,OK composer update ~~~ >注意,` "topthink/framework": "^5.0",`中的都好`,`一定要刪除,否則不符合json格式,會報錯。 <br><br><br>
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看