Composer部分关键点(实例讲解)

2022-03-18  本文已影响0人  差点身高的码农

Composer是什么

Composer 不是一个包管理器,它只是 PHP 用来管理依赖关系的工具,类似nodejs的npm。你可以在自己的项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件。

Composer解决了什么问题?

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

Composer 部分概念解释

这意味着,任何人建立项目都将下载与指定版本完全相同的依赖。你的持续集成服务器、生产环境、你团队中的其他开发人员、每件事、每个人都使用相同的依赖,从而减轻潜在的错误对部署的影响。即使你独自开发项目,在六个月内重新安装项目时,你也可以放心的继续工作,即使从那时起你的依赖已经发布了许多新的版本。

Composer部分命令解释

composer insatall,如果在当前目录下有一个 composer.json 文件,那么该命令可以帮助你安装该json文件的需要的包和解决包之间的以来关系。
composer update,该命令用来更新composer.json文件中所需要的包,这会更新到包的最新版本,所以一般情况下并不建议使用。
composer dumpautoload ,该命令用于更新自动加载内容

例子

  1. 新建文件夹,命名为composer
  2. 新建一个json文件,composer.json,编写内容如下:
{
    "require": {
        "noahbuscher/macaw": "dev-master"
    }
}

以上代码的意思是require 需要一个 包名称 为 noahbuscher/macaw(这个其实是一个路由库)

  1. 执行composer install命令,便会自动下载好相应的包
    composer.png
    image.png

以上,会生成一个vendor目录,一个composer.jsoncomposer.lock文件,还有一个很重要的文件是vendor目录中autoload.php,该文件是自动加载文件,在你的代码里引入这个文件,你会得到一个自动加载支持。

  1. composer目录新建一个测试文件index.php,编写代码如下
<?php

require 'vendor/autoload.php';

use \NoahBuscher\Macaw\Macaw;

Macaw::get('/', function() {
  echo 'Hello world!';
});

运行这个文件,会输出Hello world!

hello world

至此,简单使用了composer,接下来,实例讲解psr-4的自动加载

上一篇 下一篇

猜你喜欢

热点阅读