Composer - 学习/实践

1.应用场景

使用composer快速构建php web应用

2.学习/操作

PHP Composer

文档

php三种工具pecl pear composer的区别_会飞的鱼的博客-CSDN博客_php-pear //php三种工具pecl pear composer的区别 --- 推荐

Composer 2.0 is now available! // Composer 2.0 is now available!

介绍

A multi-framework Composer library installer

即 支持多个框架的安装库管理器/包 [本身也是一个包, 归档文件]

Composer最主要的两个作用:

处理依赖 与 自动加载。

安装

------------------------------------------------------------------------------------------------------------

2.1 Windows 10 64位

 一. 安装  //推荐使用手动安装 并且全局安装

安装步骤: 简介 | Composer 中文文档 | Composer 中文网

Packagist / Composer 中国全量镜像  //推荐阅读

提示:

1.下载composer.phar文件

2.环境变量

3.生成composer.bat文件

4.配置代理   // 暂时还未做, 请先行跳过

安装成功

全局安装  [Windows 系统]

[即拷贝composer,phar与composer.bat文件到php.exe同级目录]

1.找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。

2.将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。

3.在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。

@php "%~dp0composer.phar" %*

新开一个命令行窗口,执行 composer --version  查看结果是否正确输出版本号。

二. 操作命令

1.composer查看全局设置
composer config -gl

仓库

全局目录

C:\Users\geili\AppData\Roaming\Composer  //该目录似乎并不能考鼠标点击进去

2.设置composer镜像为国内镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com
如果崩溃,可用下面://建议使用, 阿里镜像同步时间为2s  强烈推荐,速度真的不是快的一点半点儿
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer   

阿里镜像

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

参考:阿里巴巴开源镜像提供的 packagist 镜像服务 | Laravel | Laravel China 社区

更多信息: 阿里云Composer镜像站-阿里云开发者社区-阿里云官网开发者社区_云计算社区

简要信息如下

全局配置(推荐)

  • 所有项目都会使用该镜像地址:

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

  • 取消配置:

    composer config -g --unset repos.packagist

项目配置

  • 仅修改当前工程配置,仅当前工程可使用该镜像地址:

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

  • 取消配置:

    composer config --unset repos.packagist

调试

  • composer 命令增加 -vvv 可输出详细的信息,命令如下:

    composer -vvv require alibabacloud/sdk

镜像管理器:
GitHub - slince/composer-registry-manager: Composer registry manager that help to easily switch to the composer repository you want.

3.composer 自身更新版本  // 保持composer处于最新稳定版本

composer self-update

---------------------------------------------------------------------------------
2.2 Linux [centOS,含Mac]  

步骤如下:

更加推荐这种方式,可以使用curl或者wget,不依赖php环境, 当然只是下载归档文件时,不依赖,

执行composer时,还是依赖PHP环境,必须要安装PHP才行。

wget https://getcomposer.org/download/1.9.1/composer.phar  // 国外网站,比较慢 --- 当然如果你使用的网络本身访问国外很快,另当别论

wget https://mirrors.aliyun.com/composer/composer.phar   // 阿里镜像, 很快
mv composer.phar /usr/local/bin/composer
chmod u+x /usr/local/bin/composer

全局配置(推荐)

  • 所有项目都会使用该镜像地址:

    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/   // 截图如下

:

  • 取消配置:

    composer config -g --unset repos.packagist

项目配置

  • 仅修改当前工程配置,仅当前工程可使用该镜像地址:

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

  • 取消配置:

    composer config --unset repos.packagist

调试

  • composer 命令增加 -vvv 可输出详细的信息,命令如下:

    composer -vvv 

MacOS下安装 // 20210514 周五 公寓

参考:Packagist / Composer 中国全量镜像

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

上述 3 条命令的作用依次是:

下载安装脚本 - composer-setup.php - 到当前目录。
执行安装过程。
删除安装脚本。

截图如下:

删除安装脚本composer-setup.php // 其实也可以使用rm删除或者直接界面化移到垃圾桶

即执行 php -r "unlink('composer-setup.php');"

Docker容器中安装,截图如下:

20221221 周三 

推荐,执行下面的操作,变为全局安装

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

同时,全局安装 // 即将可执行文件加入到环境变量中

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

用户家目录

KUMU

 

--------------------------------------只要看这一篇文章即可-------------------------

真遇到问题, 再去解决即可~~

---------------------------------------------------------------------------------------------------------------------------------------

2.3 详解composer的自动加载机制

详解composer的自动加载机制_zhang197093的博客-CSDN博客_composer自动加载

2.4 如何自定义编写package[公有/私有包], 并应用到自己的项目中

公有包:

在packagist 注册, 同时在将代码上传到github上公有仓库

私有包:

在packagist 是否需要注册?TBD.... 同时在将代码上传到github上公有仓库

同时提交记录打的tag也是有用处的==>为了指定依赖包的时候,指定版本.

更多信息借鉴: composer.json 架构 | Composer 中文文档 | Composer 中文网

借鉴:

https://github.com/ningxiaofa/Ranking-of-Chinese-Internet-Corp

https://packagist.org/   输入 zhyee/rrclic 回车

2.5 升级composer 版本 // 这里升级到2.x --- 20210619

后续补充

...

3.问题/补充

1.执行composer install 不成功 

原因和解决方式[可能且有时]需要设置代理方可执行: composer install
Windows下通过设置环境变量 http_proxy  http://web-proxy.xxx.com:8080/ //[为所在网络的代理地址]

验证:
composer search php
查看是否有返回结果

补充:

很多软件管理工具, 功能/命令大致相同 , 如: centOS yum也有search 命令 . 即 yum search php //查看yum源是否有php安装包

2. 关于执行composer install时,背后的过程

注意: 在安装 Yii 期间,Composer 需要从 Github API 请求很多信息。 请求的数量取决于您的应用程序所依赖的数量, 并可能大于 Github API 速率限制。如果达到此限制,Composer 可能会要求您提供 Github 登录凭据以获取 Github API 访问令牌。在快速连接上,您可能比 Composer 能够处理的时间早, 因此我们建议您在安装 Yii 之前配置访问令牌。 有关如何执行此操作的说明,请参阅 Composer documentation about Github API tokens

后续补充

...

4.参考/补充

Packagist / Composer 中国全量镜像  //如何安装compose [包括Linux/Unix/Windows]

https://www.jianshu.com/p/5b697ccf80fc    //Windows环境下Composer的安装教程

https://learnku.com/composer/t/862/composer-uses-proxy-installation-dependency
使用composer的正确姿势 · web开发者知识体系 · 看云

 //下载归档文件 composer.phar
https://getcomposer.org/composer.phar  
或者:

https://install.phpcomposer.com/composer.phar

或者

Composer   //可以看到各个版本

https://getcomposer.org/download/1.8.0/composer.phar  //可以下载指定版本

或者

阿里云Composer镜像站-阿里云开发者社区-阿里云官网开发者社区_云计算社区  //阿里镜像, 可查看最新版本等信息

composer/installers - Packagist  //packagist 仓库有详细信息  //20200709

Packagist / Composer 中国全量镜像 //Packagist 镜像使用方法  

https://learnku.com/articles/13007/the-difference-between-composerjosn-and-composerlock-and-the-difference-between-composer-install-and-composer-updata  //composer.josn 和 composer.lock 的区别,以及 Composer install 和 Composer updata 的区别详解

https://blog.csdn.net/zhang197093/article/details/78118491  //详解composer的自动加载机制

后续补充

...

猜你喜欢

转载自blog.csdn.net/william_n/article/details/94445926