2021-01-19 Composer

一、安装
下载并安装composer

curl -sS https://getcomposer.org/installer | php

将composer放入系统目录,方便直接调用

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

查看是否安装成功

composer --version

二、Composer安装ThinkPHP5.1
使用composer在网站根目录中安装ThinkPHP5.1:

cd /usr/share/nginx
composer create-project topthink/think=5.1.* tp5

之后composer会提示你不要使用root权限安装代码:

Do not run Composer as root/super user! See https://getcomposer.org/root for details

故切换为其他用户,添加文件权限:

useradd loveuzi
passwd loveuzi
chown -R root:loveuzi /usr/share/nginx
su loveuzi

由于外网速度坑爹,需要更换国内镜像源:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

安装效果如图:


image.png

Ctrl+D切换回root用户,再把文件权限改回来:

chown -R root:nginx /usr/share/nginx

把网站文件移入html:

mv tp5/* html

配置config/database.php中的数据库信息,在application/index/controller/Index.php中加入public function test() {print_r(('user')->where('id',1)->find());},然后访问你的网址(由于没有配置PATHINFO,只能用s来传参):
http://yourwebsite.com/public/index.php
http://yourwebsite.com/public/index.php?s=/index/index/test

页面出现即网站安装成功,数据库成功访问。

三、指令
基础配置文件composer.json

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}
# 按照composer.json安装依赖包
composer install
# 单独引入依赖包
composer require monolog/monolog
# 更新所有依赖
composer update
# 更新指定的包
composer update monolog/monolog
# 移除制定的包
composer remove monolog/monolog
# 搜索依赖包
composer search monolog
# 列出所有已经安装的包
composer show
# 可以通过通配符进行筛选
composer show monolog/*
# 显示具体某个包的信息
composer show monolog/monolog

四、基本约束

精确版本

我们可以告诉 Composer 安装的具体版本,例如:1.0.2,指定 1.0.2 版本。

范围

通过使用比较操作符来指定包的范围。这些操作符包括:>,>=,<,<=,!=。

你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。 实例:

=1.0
=1.0 <2.0
=1.0 <1.1 || >=1.2
我们也可以通过使用连字符 - 来指定版本范围。

连字符的左边表明了 >= 的版本,如果右边的版本不是完整的版本号,则会被使用通配符进行补全。例如1.0 - 2.0等同于>=1.0.0 <2.1(2.0相当于2.0.*),而1.0.0 - 2.1.0则等同于>=1.0.0 <=2.1.0。

通配符

可以使用通配符来设置版本。1.0.相当于>=1.0 <1.1。
例子:1.0.

波浪号 ~

我们先通过后面这个例子去解释~操作符的用法:~1.2相当于>=1.2 <2.0.0,而~1.2.3相当于>=1.2.3 <1.3.0。对于使用Semantic Versioning作为版本号标准的项目来说,这种版本约束方式很实用。例如~1.2定义了最小的小版本号,然后你可以升级2.0以下的任何版本而不会出问题,因为按照Semantic Versioning的版本定义,小版本的升级不应该有兼容性的问题。简单来说,~定义了最小的版本,并且允许版本的最后一位版本号进行升级(没懂得话,请再看一边前面的例子)。
例子:~1.2

需要注意的是,如果~作用在主版本号上,例如~1,按照上面的说法,Composer可以安装版本1以后的主版本,但是事实上是~1会被当作~1.0对待,只能增加小版本,不能增加主版本。

折音号 ^

^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 <2.0.0,因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3会被当作>=0.3.0 <0.4.0对待。
例子:^1.2.3

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文转自菜鸟学堂,本人最喜欢对技术站点之一 Composer 是 PHP 的一个依赖管理工具。我们可以在项目...
    麦子时光_新浪阅读 4,032评论 0 0
  • 本文档根据Composer中国官方文档经过整理编排而成,相对官方文档更符合常规的思维和操作习惯,方便上手,内容比较...
    贾善德阅读 10,332评论 0 3
  • 简介 Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer ...
    倾斜的阳光阅读 2,435评论 0 1
  • composer是现代PHP的基石 现代高级编程语言,依赖管理工具是必不可少的。Java有Maven,Python...
    闲睡猫阅读 19,895评论 0 27
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,019评论 0 5