composer的基本 使用

Composer的基本使用

在项目中使用composer.json

在项目中使用composer,你需要有一个composer.json文件,此文件的作用主要用来声明包之间的相互关系和其他的一些元素标签。

require 关键字

第一件事情在composer.json就是使用require关键字了,你将告诉composer哪些包是你项目所需要的

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

如你所见,require的对象将会映射包的名称( monolog/monolog)和包的版本是1.0.*

包的命名

基本上包的命名是 主名/项目名称( monolog/monolog),主名必须唯一,但是项目也就是我们的包的名称可以有相同的,例如: igorw/json,和seldaek/json

包的版本

我们需要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.99

版本定义的两种方式:

  1. 标准的版本:定义保准的版本包文件,如:1.0.2
  2. 一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有>>=<,<=!=
  3. 通配符特别的匹配符号*,例如1.0.*就相当于>=1.0,<1.1版本的即可
  4. 下一个重要的版本:~符号最好的解释就是,~1.2就相当于>1.2,<2.0,但~1.2.3就相当于>=1.2.3,<1.3版本。   

安装包

在项目文件路径下运行

$ composer install

这样子他会自动下载monolog/monolog文件到你的vendor目录下面。

接下来需要说明一件事情就是

composer.lock - 锁定文件

在安装完所有需要的包之后,composer会生成一张标准的包版本的文件在composer.lock文件中。这将锁定所有包的版本。

使用composer.lock(当然是和composer.json一起)来控制你的项目的版本

这一点非常的重要,我们使用install命令来处理的时候,它首先会判断composer.lock文件是否存在,如果存在,将会下载相对应的版本(不会在于composer.json里面的配置),这意味着任何下载项目的人都将会得到一样的版本。

如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件

这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。

$ php composer.phar update
或者
$ composer update

Packagist(这应该就是composer,感觉有点像python的包,虽然没那么强大,呵呵,有了这种标准以后,以后大家开发网站绝对会很轻松,可以借鉴很多人的代码了,并且更加方便了!)

Packagist是composer的主要仓库,大家可以去看看,composer仓库的基础是包的源码,你可以随意的获取,Packagist的目的建成一个任何人都可以使用的仓库,这就意味着在你的文件中任意的require包了。

关于自动加载

为了方便的加载包文件,Composer自动生成了一个文件 vendor/autoload.php,你可以方便只有的使用它在任何你需要使用的地方

require ‘vendor/autoload.php‘;

这意味着你可以非常非常方便的使用第三方代码了,假设你的项目需要使用monlog,你直接使用吧,他们都已经自动加载了的!

$log = new Monolog\Logger(‘name‘);
$log->pushHandler(new Monolog\Handler\StreamHandler(‘app.log‘, Monolog\Logger::WARNING));

$log->addWarning(‘Foo‘);

当然你也可以在composer.json中加载自己的代码:

{
    "autoload": {
        "psr-0": {"Acme": "src/"}
    }
}

composer将会把psr-0注册为Acme的命名空间

你可以定义一个映射通过命名空间到文件目录,src目录是你的根目录,vendor是同一级别的目录,例如一个文件为:src/Acme/Foo.php就包含了Acme\Foo类

当你在增加autoload之后,你必须要重新install来生成vendor/autoload.php文件

在我们引用此文件的时候,将会返回一个autoloader类的实力,所以你可以把返回的值放入一个变量,然后在增加更多的命名空间,如果在开发环境下这是非常方便的,例如:

$loader = require ‘vendor/autoload.php‘;
$loader->add(‘Acme\Test‘, __DIR__);

composer的基本 使用,布布扣,bubuko.com

时间: 2024-10-10 04:16:58

composer的基本 使用的相关文章

View Composer Agent initialization error (16): Failed to activate software license (1026556)

1.       桌面发布过程中偶尔有些桌面池中的桌面提示无法访问代理,查看报错信息如下:View Composer Agent initialization error (16):Failed to activate software license (1026556). KB地址:https://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1026556 主要意思是Windows 7系统激活的

composer.json:项目安装

基本用法 基本用法 安装 composer.json:项目安装 关于 require Key 包名称 包版本 下一个重要版本(波浪号运算符) 稳定性 安装依赖包 composer.lock - 锁文件 Packagist 自动加载 安装 安装 Composer,你只需要下载 composer.phar 可执行文件. curl -sS https://getcomposer.org/installer | php 详细请查看 简介 章节. 要检查 Composer 是否正常工作,只需要通过 php

Composer更新慢的终极解决方案

本文来自这里,纯粹为了备份 开始用Composer管理PHP的包依赖后,感觉神清气爽啊,不过问题很快就来了,更新速度太TMD的慢了啊有木有,基本到了没法用的地步.怎么办?那就是VPN啦.买个VPN,问题一下解决了.但是,公司的路由器是关闭VPN相关的端口的,只开放个80,8000等端口走走HTTP协议.怎么办?程序员们都知道,有个好用又免费的神器,就是GoAgent. 让命令行使用代理 怎么安装GoAgent就不说啦,网上教程一大堆,自己找去.安装还后,各种浏览器都可以开心的用上代理啦,从此Gi

Composer 笔记(PHPconf 台湾)

演讲人:by 大泽木小铁@KKBox composer解决问题的场景: 方便接手项目的新人知道项目依赖于哪些类库(比如xml,log) 其他语言的套件管理系统: node.js (npm), Ruby(gem), PHP (PEAR -> Pyrus即PEAR2 -> composer) Comoser的优点: - 可以针对项目,而非针对整个系统 - 可以检查执行环境 - 套件审核机制方便 - 设定文档编写简单,不需要用xml,而是用JSON - 不需要用官方的套件库 - 流行 - 仿造npm

用composer装oauth2-server-php v0.9(bshaffer)

从官网下载composer https://getcomposer.org/ composer是跨平台的, 这里只介绍windows使用composer 下载好了后, 进行安装. 可以选择 "Install Shell Menus", 这将会在右键菜单里面增加composer的快捷入口. composer会自动找到php.exe的位置. 也可以自定义php的位置. 下载composer.phar 该死的"墙", 连接上VPN. 我的php 5.3.3 确实够老的.

在windows下使用Composer安装ZendFramework2

首先安装Composer,可以去 这里 下载,或者到 这个中文站点 下载. 然后调出 开始->运行->cmd 进去, 然后运行下面的命令: composer create-project -sdev --repository-url="https://packages.zendframework.com" zendframework/skeleton-application path/to/install path/to/install 表示你自己的项目目录

wamp2.4+composer+rabbitmq环境部署-176

version wamp 2.4 1.打开openssl 分别更改php.ini的文件配置 E:\wamp\bin\apache\Apache2.4.4\bin\php.ini E:\wamp\bin\apache\Apache2.4.4\bin\php.ini php.ini的功能打开 extension=php_openssl.dll 2.Composer下载 https://getcomposer.org/Composer-Setup.exe 下载完成直接点下一步图型安装-- 3.php-

Simulation.Lab.Software.SimLab.Composer.2015.v6.1.MACOSX 1CD

CA Spectrum Linux VM 10.01.00.00.103 Linux 2DVD  Tahoe Design HYDROFLO v3.0.0.4 1CD  CA Spectrum Windows VM 10.01.00.00.103 Win64 2DVD  Delcam Exchange 2016 R2 CR 8.3.1005 Win64 1CD  Delcam PowerSHAPE 2016 SP2 Update only 1CD  ESI Group VA One 2015.0

windows安装composer

下载安装 https://getcomposer.org/Composer-Setup.exe   我安装到了c:/composer,没有设置环境变量. 以下检测是否安装成功. cmd 里执行安装easywechat:  e:\php\thinkcmf-master\thinkcmf5\simplewind\vendor\overtrue\wechat>d:\phpStudy\php55\php c:/composer/composer.phar install 提示如下错误:貌似是版本错误.

Mac安装composer安装Yii2项目

[注释:]本人原创,如需转载请注明来源链接! 通过安装Composer方式安装Yii 如果还没有安装 Composer,你可以按 getcomposer.org 中的方法安装. 在 Linux 和 Mac OS X 中,你可以运行如下命令: curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer 步骤: 一.打开终端 二.安装composer: 1.终端输入:curl -s