Composer的简介说明与安装

Composer的简介说明与安装

https://mp.weixin.qq.com/s/aSZRhoa2-JjKOTRVhPdxdQ

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

依赖管理

Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

这种想法并不新鲜,Composer 受到了 node’s npm 和 ruby’s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。

 

Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

声明依赖关系

比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。

{
    "require": {
        "monolog/monolog": "1.2.*"
    }}

我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。

系统要求

运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。

我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。

Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。

安装 – *nix

下载 Composer 的可执行文件

局部安装

要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中):

curl -sS https://getcomposer.org/installer | php

注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:

php -r "readfile('https://getcomposer.org/installer');" | php

这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

全局安装

你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。

你可以执行这些命令让 composer 在你的系统中进行全局调用:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。

现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。

全局安装 (on OSX via homebrew)

Composer 是 homebrew-php 项目的一部分。

brew update
brew tap josegonzalez/homebrew-php
brew tap homebrew/versions
brew install php55-intl
brew install josegonzalez/php/composer

安装 – Windows

使用安装程序

这是将 Composer 安装在你机器上的最简单的方法。

下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。

手动安装

设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件:

C:\Users\username>cd C:\bin
C:\bin>php -r "readfile('https://getcomposer.org/installer');" | php

注意: 如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 。

在 composer.phar 同级目录下新建文件 composer.bat :

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

关闭当前的命令行窗口,打开新的命令行窗口进行测试:

C:\Users\username>composer -V
Composer version 27d8904

使用 Composer

现在我们将使用 Composer 来安装项目的依赖。

要解决和下载依赖,请执行 install 命令:

php composer.phar install

如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替:

composer install

继续 上面的例子,这里将下载 monolog 到 vendor/monolog/monolog 目录。

自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:

require 'vendor/autoload.php';

现在我们就可以使用 monolog 了!想要学习更多关于 Composer 的知识,我们将在后续的文章中陆续更新…

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112722.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Struts2拦截器-abstractInterceptor

    Struts2拦截器-abstractInterceptor通过继承AbstractInterceptor类,重写intercept方法,实现拦截器;需要在Struts2中初始化需要放行的action名称具体流程:1.新建Struts2项目(MyEclipse自动配置Struts2环境)2.新建页面(index.jsp)3.新建页面(login.jsp)4.新建实体类(UserInfo)5.新建action类(B…

    2022年5月15日
  • Python+Appium从安装到第一个小练习(保姆级别教程)

    Python+Appium从安装到第一个小练习(保姆级别教程)电脑系统:win10手机:安卓(没钱买苹果)需要的工具可以在这里下载,https://pan.baidu.com/s/1MupElpYcmeQH3uPQ1CUWjw提取码:AJDG

    2022年8月26日
  • J2ME开发站点资源「建议收藏」

    J2ME开发站点资源「建议收藏」英文站点,英文好的开发者应该收藏的站点。SUNJ2MEWebSite:http://java.sun.com/j2me/诺基亚开发论坛:http://discussion.forum.nokia.com/forum/IBMalphaworks:http://alphaworks.ibm.com/wirelessIBM新兴技术资源网站,这里有各种最新的技术,当然也有非常丰富的J2ME开发资

    2022年7月27日
  • php redis缓存雪崩,redis雪崩是什么「建议收藏」

    php redis缓存雪崩,redis雪崩是什么「建议收藏」什么是redis的雪崩?下面本篇文章就来给大家简单介绍一下,希望对你们有所帮助。什么是雪崩?因为缓存层承载了大量的请求,有效的保护了存储层,但是如果缓存由于某些原因,整体不能够提供服务,于是所有的请求,就会到达存储层,存储层的调用量就会暴增,造成存储层也会挂掉的情况。缓存雪崩的英文解释是奔逃的野牛,指的是缓存层当掉之后,并发流量会像奔腾的野牛一样,大量访问后端存储。缓存雪崩通俗简单的理解就是:由于…

    2022年9月14日
  • 图标变成了一张白纸_电脑图标是白纸形式但能打开

    图标变成了一张白纸_电脑图标是白纸形式但能打开大家好,我是波导终结者。WIN10到现在也有些年头了,虽然好的不学学坏的,天天搞强制升级有些烦人,有时候新版本的BUG也比较致命,但是整体的性能,功能和稳定性上还是有飞跃性的提升。其实WIN10自带不少实用工具,而且兼容性和稳定性没得说,很多时候我们可以不必寻找第三方工具,省了很多钱,也提高了不少效率。今天就一起来看看吧。WIN10自带截图工具WIN10自带截图工具,虽然肯定不比专业的截图工具强,…

    2022年10月19日
  • npm使用国内淘宝镜像

    npm使用国内淘宝镜像原文地址:https://blog.csdn.net/quuqu/article/details/64121812介绍安装NodeJS之后使用npm来安装包使用的是国外的地址,经常会出现超时错误,可以通过修改为国内的淘宝源来加速安装。配置临时使用npm–registryhttps://registry.npm.taobao.orginstallexpress永久使用直…

    2022年10月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号