別再到處搜PHP類別擴充包了,對於現代語言而言,套件管理器基本上是標配。 Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。 PHP 的則是PEAR,不過PEAR 坑不少:
##● 依賴處理容易出問題● 設定非常複雜● 難用的命令列介面好在我們有
Composer,PHP依賴管理的利器。它是開源的,使用起來也很簡單,提交自己的套件也很容易。
舉個例子,平常我們開始的時候如果不是用框架,想要一個驗證碼,就要先去Gihutb或者其他地方找一個驗證碼類,然後在專案中include一下,再編輯編輯就跑起來了,以至於到後期專案維護都可能會出現問題。在Github上開源的,那還能點個watch,看到有Bug修復或新版本發布,能及時跟著升級。 如果下載的擴充包多了,就需要各種include了,還有可能出現命名空間衝突的問題,又要根據專案去更改命名空間,如果擴充包升級了,又要重新下載編輯,這是十分不方便的。所以Composer依賴管理函式庫就這樣誕生了。上面就是Compser比較重要的需求場景。
1.能方便安裝升級擴充包2.只include就行,不用到處寫include3.避免命名空間的衝突平常都去Github、碼雲等平台上找擴充包,而現在也有一個網站把所有包綜合起來,也就說現在的開發方式:先在packagist上搜索,然後用Composer安裝升級。安裝Composer
傻瓜式安裝的話就是直接點擊https://getcomposer.org/Composer-Setup.exe,下載安裝就行了,安裝程式將為你下載Composer並設定你的PATH環境變量,以便你可以簡單地Composer從任何目錄呼叫。 安裝的過程中需要注意的是要找到php.exe的根目錄,選擇正確的PHP路徑。這裡就不提供截圖了,因為我也沒下好,而且我也是手動安裝的。 選擇目錄應該是這樣的:D:\phpStudy\php\php-7.0.12-nts\php.exe
D:\developer\composer>echo @php "%~dp0composer.phar" %*>composer.bat
composer -v
composer config -g repo.packagist composer https://packagist.phpcomposer.com
{ "repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } }
#composer常用指令
selfupdate<strong></strong>
composer selfupdate
composer self-update
dumpautoload<strong></strong>
composer dumpautoload
composer dump-autoload
install
composer install
# 查看 composer install 的帮助信息 composer install -h # 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖 composer install --no-dev
update<strong></strong>
composer update
require<strong></strong>
require 命令一般用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。
如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。
<strong>composer require</strong>
你也可以直接在命令中指明需要安装的依赖包。
composer require barryvdh/laravel-ide-helper
--dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开发环境,建议加上 --dev 选项。
composer require --dev barryvdh/laravel-ide-helper
<strong>create-project</strong>
你可以使用 create-project
从现有的包中创建一个新的项目。
它相当于执行了 git clone
命令后,将这个包的依赖安装到它自己的 vendor
目录。
此命令有几个常见的用途:
你可以快速的部署你的应用。
你可以检出任何资源包,并开发它的补丁。
多人开发项目,可以用它来加快应用的初始化。
# 安装 Laravel 项目 composer create-project --prefer-dist laravel/laravel blog 5.5.*
如果没有指定版本号,就默认安装最新的版本。
--prefer-dist: 当有可用的包时,从 dist 安装。
phpStudy集成环境下 安装composer失败
报错提示:
The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 The "https://getcomposer.org/download/1.2.0/composer.phar.sig" file could not be downloaded: SSL: crypto enabling timeout Failed to enable crypto failed to open stream: operation failed
1、安装composer需要开启openssl拓展 而phpstudy默认是关闭的
2、将php目录下的ssleay32.dll,libeay32.dll以及php/ext文件夹下的:php_openssl.dll 3个文件拷贝到WINDOWS\system32 文件夹下。
3、openssl需要CA证书 phpstudy也是没有的
CA证书下载地址:
http://curl.haxx.se/docs/caextract.html
选中之后单击右键选择另存为
下载成功之后放到tmp文件夹下面
4、然后修改php.ini文件
openssl.cafile = "D:\phpStudy\tmp\cacert.pem"
5、重启phpStudy就可以了报错提示:
failed to open stream: HTTP request failed!
1、检查一下php的curl拓展是否开启
2、检查这两个配置是否开启。
allow_url_fopen = On user_agent="PHP"
也可以这样配置 user_agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")
模拟浏览器访问也是一个不错的选择
3、开启之后重启重启phpStudy就可以了
PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的
更多composer相关技术文章,请访问composer栏目:https://www.php.cn/tool/composer/
以上是Composer依賴管理(PHP利器)的詳細內容。更多資訊請關注PHP中文網其他相關文章!