开发者社区> 飞鸿影~> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Composer使用

简介:
+关注继续查看

是什么

如果你知道yumapt-getnpmbower等命令中的一种或者多种,那么,你也能很快知道composer是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要搜索->下载;使用composer,我们只要知道包名,直接composer insatll就可以了。

PHP 语言本身就带有强大的网络功能、文件管理功能和丰富的系统 API,Composer 也只是一段 PHP 脚本而已。

引自Composer中文网的描述:

是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

作用

安装PHP包、依赖库。

示例:

composer create-project laravel/laravel learnlaravel5 5.0.22

这是在安装laravel框架。YII框架也是通过composer安装的。

安装Composer

下面是安装命令(来自https://getcomposer.org/download/):

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

php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === 'fd26ce67e3b237fffd5e5544b45b0d92c41a4afe3e3f778e942e43ce6be197b9cdc7c251dcde6e2a52297ea269370680') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); }"

php composer-setup.php

php -r "unlink('composer-setup.php');"

按顺序执行即可。安装好后提示:

All settings correct for using Composer
Downloading...

Composer successfully installed to: /root/composer/composer.phar
Use it: php composer.phar

操作执行结束,会在当前目录下生成composer.phar文件。

在Linux里,composer.phar是可执行程序。

例如,我们可以使用php composer.phar update执行更新操作。

全局安装:

mv composer.phar /usr/local/bin/composer

之后,就可以直接使用composer install安装包了。不过通常情况下只需将composer.phar的位置加入到PATH就可以,不一定要全局安装。

生成一个空的Composer项目

在合适的地方新建一个文件夹,命名为 MFFC(My First Framework based on Composer),在文件夹下新建文件 composer.json

{
  "require": {
  }
}

命令行切换到 MFFC 目录下,运行:

composer update

就会在该目录下生成一个vendor文件夹。里面的代码大家可以看看。

安装程序

以下以monolog为例:

声明依赖

在项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 monolog:

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

如果不需要使用https,可以这么写,以解决有时候因为https造成的问题:

{
    "require": {
        "monolog/monolog": "1.2.*"
    },
    "config": {
        "secure-http": false
    }
}

安装依赖

安装依赖非常简单,只需在项目目录下运行:

composer install

如果没有全局安装的话,则运行:

php composer.phar install

自动加载

Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:

phprequire 'vendor/autoload.php';

命令汇总

composer list  列出所有可用的命令
composer init   初始化composer.json文件(就不劳我们自己费力创建啦),会要求输入一些信息来描述我们当前的项目,还会要求输入依赖包
composer install  读取composer.json内容,解析依赖关系,安装依赖包到vendor目录下
composer update   更新最新的依赖关系到compsoer.lock文件,解析最新的依赖关系并且写入composer.lock文件
composer search packagename 搜索包,packagename替换为你想查找的包名称
composer require packagename 添加对packagename的依赖,packagename可修改为你想要的包名称
composer show packagename
composer self-update 更新 composer.phar文件自身
composer dump-autoload --optimize 优化一下自动加载

composer command --help 以上所有命令都可以添加 --help选项查看帮助信息

更多可用命令,可以在命令行输入composer进行查看。

模块仓库

packagist.org是Composer的仓库,很多著名的PHP库都能在其中找到。你也可以提交你自己的作品

当你安装完Composer后,使用时,却发现不能下载包,或者很慢,这是一个『众所周知』的原因。

所以,我们使用国内的镜像站点进行代替,常用方法有两种:

1、修改全局配置:全局配置的文件一般放在C:\Users\XXX\AppData\Roaming\Composer\config.json,例如C:\Users\YJC\AppData\Roaming\Composer\config.json。(这里以windows路径为例)

{
    "config": {

    },
    "repositories": [
        {"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
        {"packagist": false}
    ]
}

2、修改当前配置:即项目当前的composer.json文件;

{
  "require": {
    "noahbuscher/macaw": "dev-master"
  },
  "repositories": [
        {   
            "packagist": false
        },  
        {   
            "type": "composer", 
            "url": "http://packagist.cn"
        }   
    ]
}

3、常见镜像地址:
https://packagist.org 国外的
http://packagist.cn 中国的
http://packagist.phpcomposer.com 中国全量镜像
http://pkg.phpcomposer.com/repo/packagist
http://pkg.uselaravel.com/repo/packagist 日本的

背景

Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起,在吸纳了许多优秀的大脑和强健的体魄后,提出了 PSR-0 到 PSR-4 五套 PHP 非官方规范:

  1. PSR-0 (Autoloading Standard) 自动加载标准
  2. PSR-1 (Basic Coding Standard) 基础编码标准
  3. PSR-2 (Coding Style Guide) 编码风格向导
  4. PSR-3 (Logger Interface) 日志接口
  5. PSR-4 (Improved Autoloading) 自动加载优化标准

之后,在此标准之上,Composer 横空出世!Composer 利用 PSR-0 和 PSR-4 以及 PHP5.3 的命名空间构造了一个繁荣的 PHP 生态系统。Composer 类似著名的 npm 和 RubyGems,给海量 PHP 包提供了一个异常方便的协作通道,Composer Hub 地址:https://packagist.org/。Composer 中文网站:http://www.phpcomposer.com/

目前 PHP 界风头正劲的 Laravel 和 Symfony 均直接基于 Composer,大家耳熟能详著名框架 CI 和 Yii 的正开发版本 CodeIgniter 3 和 Yii 2 也都基于 Composer(更新:北京时间2014年10月13日 Yii 2 已经发布)。Composer 就是 PHP 框架的未来,有了它,让 CI 的路由和 Laravel 的 Eloquent ORM 协作就会变的非常简单。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【PHP】如何正确的使用composer
【PHP】如何正确的使用composer
44 0
PHP composer的安装和使用
PHP composer的安装和使用
56 0
Composer 基本使用方法
本文主要为大家介绍 Composer 的基本使用方法,包括基本介绍、安装、更新与使用等。
397 0
Composer 安装
简介 Composer 是一个用于 PHP 依赖管理的工具。它实现了让你声明项目所依赖的库,并帮你完成安装 / 更新过程。 依赖管理 Composer 不是像 Yum 或 Apt 一样的包管理器,虽然它会处理『包』或库,但它管理这些包、库是基于项目的,它会安装这些包、库到你项目的一个目录下(一般是在 vendor 文件夹里),默认情况下不会全局地安装。
2478 0
PHP composer
2017年5月12日 09:57:48 星期五 最近接触了几天的composer, 不吹不黑, 简单说下用法吧   官方说要先用PHP命令行下载installer, 其实作用就是检测当前的PHP环境是否支持, 再一个就是自动下载composer.
1038 0
Yii2 使用Composer
composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件 composer中文网 http://www.phpcomposer.com/   安装路径 composer的安装路径 https://getcomposer.org/download/  Windows下安装 windows 中安装composer成功后,在C:\ProgramData\ComposerSetup\bin 路径下,会生成composer.phar文件。
1434 0
+关注
117
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载