phpComposer Markdown版本
php Composer简介
简单来说,Composer 是一个新的安装包管理工具,服务于 PHP 生态系统。它实际上包含了两个部分:Composer 和 Packagist。下面我们就简单说一下他们各自的用途。
Composer
Composer 是由 Jordi Boggiano 和 Nils Aderman 创造的一个命令行工具,它的使命就是帮你为项目自动安装所依赖的开发包。Composer 中的很多理念都借鉴自 npm 和 Bundler,如果你对这两个工具有所了解的话,就会在 composer 中发现他们的身影。Composer 包含了一个依赖解析器,用来处理开发包之间复杂的依赖关系;另外,它还包含了下载器、安装器等有趣的东西。
作为一个用户,你所要做的就是在 composer.json 文件中声明当前项目所依赖的开发包,然后运行 composer.phar install 就行了。composer.json 文件定义了当前项目所依赖的开发包和 composer 的配置信息。下面是一个小型实例:
{
“require”: {
“monolog/monolog”: “1.2.*”
}
}
Packagist
Packagist 是 Composer 的默认的开发包仓库。你可以将自己的安装包提交到 packagist,将来你在自己的 VCS (源码管理软件,比如 Github)仓库中新建了 tag 或更新了代码,packagist 都会自动构建一个新的开发包。这就是 packagist 目前的运作方式,将来 packagist 将允许直接上传开发包。
对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少:
依赖处理容易出问题
配置非常复杂
难用的命令行接口
好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。
如何安装 Composer
安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。
局部安装
使用命令行下载,打开命令行并依次执行下列命令安装最新版本的 Composer:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" //下载安装脚本 - composer-setup.php - 到当前目录。
php composer-setup.php //执行安装过程。
php -r "unlink('composer-setup.php');"//删除安装脚本。
使用浏览器或者下载工具下载
直接访问https://install.phpcomposer.com/installer,
比如把下载的installer文件放在了文件夹phpComposer/cc/
cd phpComposer/cc/
php installer
安装完成后会生成最新的composer.phar。
执行第一条命令下载下来的php composer-setup.php 或者 php installer 脚本将简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar 文件到当前目录。
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar 文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar 指令即可使用 Composer 了!
全局安装
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
Mac 或 Linux 系统:
打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到 /usr/local/bin/ 目录下面:
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。
将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。
在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer --version 看看是否正确输出版本号。
最后
提示:不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!
关于升级 Composer
Composer 升级时是无法利用我们的镜像加速下载的,而必须连接到 Composer 国外官网的服务器上下载升级文件,某些时候就会导致升级的速度非常慢甚至失败。
这里提供一个简单的办法:
如果你的系统中已经有可以正常使用的 Composer 了,说明系统环境是符合要求的,那么只需要下载新的 Composer 文件并覆盖原来的文件即可。
首先你要确定现有的 Composer 的安装目录,然后通过下面的链接下载 composer.phar 文件(复制以下地址到浏览器地址栏可直接下载),
https://install.phpcomposer.com/composer.phar
将前面下载的 composer.phar 文件覆盖系统中已经安装的 composer.phar 文件即可。注意,有可能在安装时将 composer.phar 改名为 composer 了,注意用同样的名字覆盖即可。
php Composer安装thinkphp
php composer.phar require //生成依赖.composer.json
composer config repo.packagist composer https://packagist.phpcomposer.com//修改镜像的地址为中国镜像
php composer.phar create-project topthink/think tp //安装thinkphp到tp目录
cd tp/public//进入public目录下
php -S localhost:8000//启动php自带的服务器
在浏览器地址栏里输入localhost:8000,会出现以下界面
phpComposer Markdown版本相关推荐
- 一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图.另一份 Android 开发学习路线图.可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiao ...
- excel导入与导出(markdown版本)
前段时间要做一个excel表格的上传下载功能,上网找了各种资料及源码,最后借用别人的代码及思路完成了符合自己需求的代码,总结一下excel的上传下载实质是通过第三方的类库比如poi,jxl等对exce ...
- Linux sed实战(MarkDown版本)
文章目录 一.替换 1.全局替换shell中的某个字符. 2.正则匹配空行并删除 3.替换经典案例(正则) 4.时间处理 5.滤出html中href 元素后的网址 6.替换匹配到的字符串 7.忽略大小 ...
- Markdown与 $\LaTeX$ 公式的使用入门指南
文章目录 一.Markdown是什么? 二.Markdown编辑工具 三.Markdown基本语法简介 1.文档结构相关 2.表格 3.图片 4.插入代码 5.添加脚注 6.文档目录 7.与`html ...
- html页面嵌入markdown,html – 在R markdown中嵌入图形输出
我们第一次发布RPub时遇到了同样的问题. Here是已发布的RPub中的代码. 一旦它在RPubs.com上发布而不是在预览中,图表就会显示出来.您可以使用RPub中的"在浏览器中打开&q ...
- markdown教程
版权声明:本文章参考了<小书匠markdown 官方教程>.未经作者允许,严禁用于商业出版,否则追究法律责任.网络转载请注明出处,这是对原创者的起码的尊重!!! 1 基本语法 1.1 ...
- cs231n课程资料Python Numpy Tutorial的Python3版本
cs231n课程资料Python Numpy Tutorial的Python3版本 cs231n课程提供了一个python numpy tutorial的教程,非常不错.之前看过,这些天又想爬虫和数据 ...
- Openfire XMPP Smack RTC IM 即时通讯 聊天 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 600页!分享珍藏很久的《推荐系统学习手册》(附下载链接及入门经验)
这是之前学习推荐系统时的学习资料,非常全面,包含经典模型的解析及代码实现.模型的评估.最新工业界论文解读等等,全网仅此一份!该手册有PDF版本和Markdown版本,总计有600多页! 资料领取方式: ...
最新文章
- 学习全基因组测序数据分析2:FASTA和FASTQ
- send/recv阻塞和非租塞不同
- SSM整合时Maven项目的pom.xml版本兼容的代码备份
- hadoop学习之:Map、Reduce详解
- 《C++ Primer 5th》笔记(11 / 19):关联容器
- linux获取ip地址的接口,获取Linux上接口的IP地址
- PHP中Foreach在引用时的陷阱
- dta乱码_DTA是自动化索引的出色工具
- 单机上搭建Node集群
- Es6 filter()、map()、find()方法详解
- Gradle删除本地库文件
- 单片机ADC分压电阻测量直流电压
- 微信抽奖助手网络或服务器错误,微信抽奖助手怎样运用 抽奖助手运用办法
- for linux shell 菜鸟_Linux 命令大全 | 菜鸟教程
- 家庭影院投影仪哪款值得买?2022年双11家庭影院4K投影仪首选当贝X3 Pro
- calico源码分析-ipam(2)
- 零基础如何学习单片机,一位入门者的进阶路径,可参考
- dedecms联动筛选_织梦联动类别联动筛选搜索查询功能插件
- vue使用siwper走马灯
- 美格智能5G模组助力电力巡检之无人机产品智能化高效运作