Composer使用教程

这篇具有很好参考价值的文章主要介绍了Composer使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

Composer 不会全局安装包,也就是说你全局安装了composer,你以后在哪个文件夹下面安装包都不会影响到你在其他文件夹的包,通俗的来讲,就是你全局安装composer后,你的每个文件夹都是一个虚拟环境


1.Composer 简介

  • Composer: PHP 项目的"包(class)"依赖管理工具
  • 这些包,可以是你自己写的, 也可以来自第三方
  • 不管来自哪里, composer 都能帮你自动安装好
  • 特别是第三方包,还能帮你自动更新到指定版本

本质: 是一个加强版本的自动加载器(Plus+)

2. 下载与安装

2.1 局部安装
  1. Windows安装

    直接进入指定文件夹,打开cmd输入如下几条命令即可

     php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
     php composer-setup.php
     php -r "unlink('composer-setup.php');"
    
  2. mac和Linux安装
 # mac/linux
 curl -sS https://getcomposer.org/installer | php
2.2 全局安装

推荐使用全局安装

  1. windows: https://getcomposer.org/Composer-Setup.exe
  2. macos/linux
    1. 局部安装,下载 composer.phar
    2. curl -sS https://getcomposer.org/installer | php
    3. . 移动到自定义命令目录,并重命名
    4. sudo mv composer.phar /usr/local/bin/composer
2.3 更新composer

更新composer是指全局安装的composer更新,因为,局部安装的composer一般都是最新的版本

composer selfupdate
2.4查看composer
  1. 检验你是否安装成功composer,打开你的cmd,然后在里面输入composer,如果出现如图所示的composer图,则表示安装成功了

  2. 查看composer的版本composer -V 或者:composer -Version

2.5 安装composer镜像加速

安装composer镜像加速会让你以后的包下载速度非常的快(如下操作都是指全局安装composer后)

  1. 查看配置

    	composer config -gl repo.packagist
    

    composer install,PHP,composer,php,linux

  2. 配置全局变量为阿里云镜像:

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

3. composer的使用

首先如果你要使用composer的话,你肯定是要创建文件管理包的,就像node.js当中有npm但是也需要package.json像npm中的package.json或者是composer中的composer.json这些文件一般是都有你下载的这些包的信息。

3.1初始化
  1. 直接使用composer init直接进行初始化,使用composer init命令后直接全部回车即可
  2. 直接创建composer.json文件,在文件中写入{},再使用命令composer install去安装依赖

个人推荐使用第二种方法,第二种方法创建的composer.json文件更简介,初始化后有几个文件必须要了解

  1. composer.json:可以认定为composer.lock的简写
  2. composer.lock: composer.json 中的包版本锁定文件
  3. vender目录: 第三方包,以及 composer 的自动加载器
    1. autoload.php: composer 的自动加载器
    2. composer目录: 自动加载器的配置项(系统维护)
3.2安装第三方包

其实如果一开始你就要安装第三方包的话,直接使用安装第三方包的命令就可以了,这样安装会直接初始化composer然后再进行包安装,安装包一般会有如下几个步骤:

  1. 搜索包

    • 方法1:

    比如说要搜索个php库Monolog,再cmd下直接执composer search monolog就行了

    • 方法2:

    直接进入官网搜索包,这样就可以直接下载,还会有使用教程第三方包官网

  2. 查看包

  • 查看已经安装的包composer show -all
  • 查看某个包,比如monolog,composer show --all monolog/monolog
  1. 下载包
  • 方法1:

    直接再composer.json中加入如下的字段:,然后使用命令composer install

      "require": {
        "monolog/monolog": "1.26.*"
    }
    

    一个是包的名称,一个是包的版本,(^这个符号是固定符号,*这个符号是不确定符号)

    • 方法2:

    直接按照官网来,使用composer require 包名来安装,不过这样安装的包是最新版本,使用composer require 包:指定版本来安装指定版本

  1. 跟新依赖

    如果有以下情况,都可以进行更新依赖:

    • 删除某个库

      直接再composer.json中删除该库,然后运行composer update

    • 更改某个依赖的版本
    • 新增依赖
    • 更新所有依赖

      composer update

    • 更新某个依赖

      composer update 包名

  2. 删除依赖
composer remove 包名

4. 自动加载器

  1. composer.json添加autoload字段,声明依赖"包"的路径
  2. composer dumpautoload: 将autoload字段声明注册到 composer 中

项目中需要用到自动加载的的文件有哪些?

  1. 普通文件: config/database.php
  2. 类文件: xxx.class.php
    1. 自己写的类
    2. 第三方类(别人写的):https://packagist.org/
4.1 加载非 class 文件

在composer.json文件中的autoload下面添加file

    // composer.json
    {
    "autoload": {
        "files": ["config/database.php", "lib/common.php"]
    }
}

使用就直接包含自动加载文件就可以了

4.2 加载自己写 class 文件

在composer.json文件中的autoload下面添加classmap

    {
    "autoload": {
        "files": ["config/database.php", "lib/common.php"],
        "classmap": ["inc/", "src/Base.php"]
    }
    }

使用就直接包含自动加载文件就可以了

4.3 PSR-4 自动加载规范
  1. PSR简介
  • PSR:(Standard Recommendations)PHP FIG 组织制定的推荐标准
  • PSR-4 要求
    1. 类空间映射到类文件路径
    2. 类名与类文件同名
    3. 一个类文件中只允许存在一个类
  1. PSR使用

在composer.json文件中的autoload下面添加psr-4字段即可

"psr-4": {
      "app\\admin\\controller\\": "src/app/controllers",
      "app\\admin\\models\\": "src/app/models",
      "app\\": [
        "src/app",
        "src/app/test"
      ]
    }

使用就直接包含自动加载文件就可以了


5. 常规"包"安装简单命令

  1. composer.json中添加require字段

    "require": {
        "catfan/medoo": "^2.1"
    }
    
    # 无composer.lock
    composer install
    # 有composer.lock
    composer update
    
    
  2. 三合一: 声明,注册,下载

    # 下载包
     composer require catfan/medoo
     
     # 移除包
     composer remove catfan/medoo
    

6. 安装脚手架

以安装thinkphp为例

```bash
# 安装脚手架/目录架构,包含了源码vendor目录
composer create-project topthink/think shop

# 只有源码,没有目录架构
composer require topthink/framework
```

7. composer 进阶

7.1composer.json和composer.lock的区别
  1. 可以理解为composer.json包含的是依赖包的简要信息而composer.lock文件包含的是依赖的详细信息
  2. 如果是把composer.json这个文件分享给同事或者朋友,执行install命令后,那版本号可能是和你自己本地开发使用的版本是不同的,这时候composer.lock文件就起到了关键作用,因为composer.lock文件里面是有显示的版本号的,只要把这个文件分享出去,别人再执行composer install命令的话,安装的依赖包就会和你本地开发安装的是一个版本,这样就会防止一些不必要的bugs。
  3. 执行install操作后,composer会先去看看有没有composer.lock文件,如果有就安装lock文件内的依赖包,如果没有会再去找composer.json文件并安装,而composer update操作,就会直接读composer.json文件,根据版本规则去更新,但是他们两个操作最后都是会更新lock文件

总结:发送你写的东西,和依赖包的时候,发送composer.lock就可以了,无composer.lock使用composer install,有composer.lock使用composer update

7.2代码库

composer install,PHP,composer,php,linux

composer中的代码也就是gethub中的代码,只不过使用了Packagist把github中的代码集合了,就是把代码整理在Packages

Packagist,代码安装库
学习猿地

composer常用的库
composer install,PHP,composer,php,linux

7.3composer运行原理

composer install,PHP,composer,php,linux


资料
Composer中文使用教程
菜鸟教程文章来源地址https://www.toymoban.com/news/detail-699506.html

到了这里,关于Composer使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 7.3.

    安装扩展后执行 提示 PHP版本问题 1、在项目对应的composer.json文件中添加: 如: 2、在对应的项目执行:composer dump 如果在执行过程中,遇到这种错误: 可在,php.ini配置文件中 将此函数去掉忽略即可。

    2024年02月15日
    浏览(58)
  • Composer使用教程

    Composer 不会全局安装包,也就是说你全局安装了composer,你以后在哪个文件夹下面安装包都不会影响到你在其他文件夹的包,通俗的来讲,就是你全局安装composer后,你的每个文件夹都是一个虚拟环境 Composer: PHP 项目的\\\"包(class)\\\"依赖管理工具 这些包,可以是你自己写的, 也可以

    2024年02月09日
    浏览(24)
  • linux系统中Composer 的安装与使用

    Composer 是 PHP 的包管理(依赖管理)工具。 如果在一个PHP项目中一些库依赖于其他库,就声明所依赖的库,Composer 就会找出相应版本的包并安装,默认情况下下载到项目的某个目录中(例如 vendor)进行安装。 第一步:安装PHP环境 因为composer工具是依赖PHP环境进行管理的,所

    2024年02月03日
    浏览(25)
  • Composer安装与配置教程

    下载安装php 方法一、 下载Composer安装包 安装完成后CMD运行 composer --version 命令查看版本号,正常显示版本号则表示安装成功 3、方法二、CMD命令安装composer 安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号,建议7.3.4以上php版本。 安

    2024年02月06日
    浏览(29)
  • CATIA Composer R2023安装教程

    软件下载 软件:CATIA Composer 版本:2023 语言:简体中文 大小:1.82G 安装环境:Win11/Win10/Win8/Win7 硬件要求:CPU@2.60GHz 内存@8G(或更高) 下载通道①百度网盘丨64位下载链接: https://pan.baidu.com/s/1hMOsH0EQ_vrZBWJMnSVxtw?pwd=6789 提取码:6789 软件介绍 安装步骤 1.鼠标右击【CATIA Composer R2

    2024年02月10日
    浏览(40)
  • 傻瓜式教学Docker 使用docker compose部署 php nginx mysql

    首先你可以准备这个三个服务,也可以在docker compose 文件中 直接拉去指定镜像,这里演示的是镜像服务已经在本地安装好了,提供如下: PHP 日常用的扩展都有了应该, 这两个你也可以移到上面的RUN一同安装 Nginx Mysql 直接从官方镜像资源中拉去 这样你将产生三个镜像 下面开始利用

    2024年02月01日
    浏览(35)
  • 使用composer构建软件包时文件(夹)权限设置

    在构建软件包的时候你可能会需要对包源内文件或文件夹的权限做出相应的调整,以确保软件包在部署到客户端后可以正常运行。在此之前我们先来了解一下Apple文件系统内文件或文件夹的权限设定。   常见的文件或文件夹会有Owner, Group, Everyone这三种类型的所有权: ·Owner—

    2024年01月16日
    浏览(38)
  • 使用NVIDIA FX Composer验证多纹理合成效果

    最近项目上有一个需求,需要将4张带透明通道纹理合成为一张,并且每张纹理指定一个全局透明度。由于纹理过多,合成效果无法保证,为了减少项目的风险,领导希望我先快速验证一下我们讨论的方法是否能完成项目的要求。因此我花了几天时间研究了一下NVIDIA FX Compose

    2024年02月17日
    浏览(32)
  • SOLIDWORKS Composer如何使用3D工具实现更真实的动画效果

    当我们使用SOLIDWORKS composer创建动画时,往往会涉及到产品的安装与拆解,现实生活中我们在拆卸组装产品的时候,我们往往需要一些工具的协助,比如扳手、螺丝刀等等,那么我们如何在虚拟动画中也将这一过程以逼真的形式展示出来呢。 首先打开SOLIDWORKS composer软件并加载

    2024年04月22日
    浏览(26)
  • win10下使用composer安装依赖ssl报错处理

    报错:you are running Composer with SSL/TLS protection disabled. https://repo.packagist.org could not be fully loaded (curl error 60 while downloading https://repo.packagist.org/packages.json: SSL certificate problem: unable to get local issuer certificate) 解决方法:手动添加证书 1、下载最新的根证书:您可以从以下链接下载最新

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包