composer是php包管理工具
composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
MAC、LInux安装composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Windows安装:
https://getcomposer.org/Composer-Setup.exe
composer 国内镜像配置:(命令行中执行以下命令)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
生成一个空的Composer项目:
在合适的地方新建一个文件夹,命名为 mvc,在文件夹下新建文件 composer.json:
{
"require": {
}
}
命令行切换到 mvc目录下,运行:
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 update
注意:使用composer install或者composer update命令将会更新所有的扩展包,项目中使用需谨慎!!!
若只安装指定的包推荐在命令行使用:
composer require monolog/monolog
进行安装。
如果需要指定版本:
composer require "monolog/monolog:1.2.*"
更新某个包:
composer update monolog/monolog
移除某个包:
composer remove monolog/monolog
如果手动更新了composer.json需要更新autoload:
composer dump-autoload
自动加载
Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:
require 'vendor/autoload.php';
composer是php包管理工具的更多相关文章
- php composer包管理工具
一 . 包管理工具 你在Centos上装工具的时候直接yum -y install xx 比你去rpm -ivh xx.rpm 是不是爽很多呢? composer 就是安装php 代码的一个类似工具. ...
- Composer : php依赖管理工具
原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码 ...
- NodeJS包管理工具——npm入门
如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm.有的人会奇怪为何要引入又一个新东西来让我 ...
- Golang学习--包管理工具glide
上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...
- Go语言包管理工具dep
什么是dep? dep和go,在一定程度上相当于maven之于Java,composer之于PHP,dep是go语言官方的一个包管理工具. 相比较go get而言,dep可以直接给引入的第三方包一个专 ...
- [Todo]各种语言包管理工具
看到一篇文章不错: http://harttle.com/2015/05/29/pkg-manager.html 包管理和构建系统是现代的软件开发团队中必不可少的工具,也是Linux软件系统的常见组织 ...
- Python | Pipenv官方推荐的python包管理工具
原文地址:https://cloud.tencent.com/developer/article/1355672 Pipenv - 官方推荐的的python包管理工具. Pipenv是一款旨在将所有包 ...
- glide包管理工具
上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步. 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依 ...
- Python黑帽编程1.3 Python运行时与包管理工具
Python黑帽编程1.3 Python运行时与包管理工具 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...
随机推荐
- 重启php
注意这是重启php,不是重启apache service php-fpm restart
- IDEA 中 右键新建时,没有新建class的解决方案
今天在用IDEA新建包后,因为我新建的包名是userprivman-data这样的包,然后导致右键后没法新建类,并且在新建包名的时候就提示:不合法的包名,可能不会新建类 然后右键单击包名,发现没有新建 ...
- 关于 Apache 的 25 个初中级面试题
关于 Apache 的 25 个初中级面试题 出自:http://blog.jobbole.com/60471/
- MySQL的innodb_flush_log_at_trx_commit配置值的设定
MySQL的innodb_flush_log_at_trx_commit配置值的设定 mysql的配置文件中innodb_flush_log_at_trx_commit的默认值是1,修改成0或者2,速 ...
- [转] 关于EJB分析
转自:http://blog.csdn.net/jojo52013145/article/details/5783677 1. 我们不禁要问.什么是"服务集群"?什么是" ...
- hdu 4685(匹配+强连通分量)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 思路:想了好久,终于想明白了,懒得写了,直接copy大牛的思路了,写的非常好! 做法是先求一次最 ...
- ifcfg-<interface-name> 文件配置详解
TYPE=Ethernet #网卡类型DEVICE=<name> <name>表示物理设备的名字I ...
- web版pdf在线阅读器
近期论坛里有人提到了,在线pdf阅读器怎么做.我百度了一下,发现非常多人都非常懒.程序猿都非常懒吗? 答案是否定的. 为什么都不愿意去搜索一下呢.网上非常多答案的.我这里就列举一例.大家共勉. 看代码 ...
- shell脚本学习总结09--分支与循环结构
if 条件语句 = start ]];then echo start app elif [[ $ = stop ]];then echo stop appelif [[ $1 = ... ]];the ...
- tcp断开时分几步
连接时是三次握手 断开时是四次握手,因为它是半关闭造成的