Composer使用体验
什么是Composer
简单来说,Composer是PHP的包依赖管理器。但是Composer并不是类似于Yum、Apt的包管理器。Composer可以用于包或者第三方库的安装,但是可以选择在Project范围内进行安装。Composer是受到Node的NPM启发。
Composer可以在下面的方面帮助到你:
- 允许我们定义项目 Project 依赖的第三方库
- 自动帮我们查找到哪些库可以下载,并且下载安装
安装(Linux/Unix/mac)
Composer 需要PHP 5.3.2+ 版本的支持
Composer的安装文件很简单,直接下载一个PHP文件,然后在命令行执行就可以。安装过程实际上是下载一个 composer.phar 的文件到项目文件夹。这个文件是 Composer 的库文件。
php composer-setup.php //安装,下载composer.phar文件,默认到当前目录
php composer.phar //运行composer
使用
配置 composer.json
想在项目中使用 Composer 首先需要一个 composer.json 文件。该文件为必需文件,该文件指定了项目依赖哪些第三方库。
{
"require": {
"monolog/monolog": "1.0.*"
}
}
Composer 会根据 composer.json 的配置从 资源库 中查找。资源库可以是 Packagist 或者指定的资源库。
安装
php composer.phar install
执行上面的命令,可以将monolog安装(下载)到项目中。下载完成后,项目中多一个 composer.lock 文件以及一个 vendor 文件夹。vendor 文件夹中包含了下载的 monolog 库以及一个 autoload.php、composer文件夹。
第一次安装时,Composer 根据 composer.json 文件来决定需要哪些依赖,之后会将安装过程中的相关信息收集写入 composer.lock 文件,该文件将我们依赖的第三方库的版本进行锁定。composer.lock 文件应当提交到版本库中,以确保其他用户都使用相同的第三方库。
Autoload
require __DIR__ . '/vendor/autoload.php';
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');
Composer 会产生一个 autoload.php 文件,代码中包含该文件后就可以正常使用第三方库。也可以自己在 composer.json 中配置 Autoload的信息。
{
"autoload": {
"psr-4": {"Acme\\": "src/“} //注册psr-4的自动加载器,命名空间为 Acme
}
}
配置之后,执行php composer.phar dump-autoload来重新生成autoload。
更新第三方库到最新版本
php composer.phar update
这个命令可以将项目中的第三方库进行更新,更新到最新版本,依赖于 composer.json 的配置。同时更新 composer.lock 文件。
参考资料:
1、Composer
Composer使用体验的更多相关文章
- Composer简介及使用实例
1.PHP-FIG 官网:http://www.php-fig.org/ php编码规范: 本文档是PHP互操作性框架制定小组(PHP-FIG :PHP Framework Interoperabil ...
- 【转载】在 2016 年做 PHP 开发是一种什么样的体验?(一)
转自:https://www.v2ex.com/t/312651 在 2016 年做 PHP 开发是一种什么样的体验?(一) 嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听说 ...
- composer很慢修改镜像
有两种方式启用本镜像服务: 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中.见“例1” 单个项目配置: 将配置信息添加到某个项目的 composer. ...
- 转:PHP Composer 管理工具的介绍 这个相对清晰点
转自:http://www.aichengxu.com/view/14872 一.PHP的一些臭历史 Dependency Manager For PHP,Composer.在Composer还没诞生 ...
- 利用 Composer 一步一步构建自己的 PHP 框架(四)——使用 ORM
本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过前三篇文章 基础准备 . 构建路由 和 设计 ...
- php Composer中国全量镜像
http://pkg.phpcomposer.com/ http://www.yiichina.com/doc/guide/2.0/intro-upgrade-from-v1 https://getc ...
- 7.Composer的安装和使用
1.安装Composer: 局部安装 要真正获取 Composer,我们需要做两件事.首先安装 Composer (同样的,这意味着它将下载到你的项目中): curl -sS https://getc ...
- 【转】在 2016 年做 PHP 开发是一种什么样的体验?(一)
原文: https://www.v2ex.com/t/312651 在 2016 年做 PHP 开发是一种什么样的体验?(一) 嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听 ...
- composer 的快速安装
Packagist 镜像 请各位使用本镜像的同学注意: 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 http://pa ...
随机推荐
- swift中Double转String
swift上手有好几天了.发现swift除了本身的几个基本类型转换,一些比较特殊的数值类型转换需要“桥接”到Objective-C来进行- 代码当然也很简单- var numString = &quo ...
- 100+torch的基础操作
官网: torch 各种操作,做个翻译,以后查阅 Tensors torch.is_tensor 如果 obj 是 pytorch 张量,则返回 True. torch.is_storage ...
- RabbitMQ 相关理论部分
集群配置方式 RabbitMQ可以通过三种方法来部署分布式集群系统,分别是:cluster,federation,shovel cluster: 不支持跨网段,用于同一个网段内的局域网 可以随意的动态 ...
- 伪分布式安装Hadoop
Hadoop简单介绍 Hadoop:适合大数据分布式存储与计算的平台. Hadoop两大核心项目: 1.HDFS:Hadoop分布式文件系统 HDFS的架构: 主从结构: 主节点,只有一个:namen ...
- python脚本获取本机公网ip
1.获取公网IP地址方式,访问:http://txt.go.sohu.com/ip/soip 2.python脚本实现: #!/usr/bin/python # -*- coding:utf8 -*- ...
- 牛客练习赛3 E - 绝对半径2051
链接:https://www.nowcoder.net/acm/contest/13/E来源:牛客网 题目描述
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...
- OpenContrail 体系
OpenContrail 体系架构文档 1 概述1.1 使用案例1.2 OpenContrail控制器和vRouter1.3 虚拟网络1.4 Overlay Networking1.5 ...
- BZOJ 3572: [Hnoi2014]世界树 虚树 树形dp
https://www.lydsy.com/JudgeOnline/problem.php?id=3572 http://hzwer.com/6804.html 写的时候参考了hzwer的代码,不会写 ...
- POJ 2987 Firing 网络流 最大权闭合图
http://poj.org/problem?id=2987 https://blog.csdn.net/u014686462/article/details/48533253 给一个闭合图,要求输出 ...