目录
1.简介
2.系统要求
3.安装(ubuntu)
4.使用
5.自动加载
6.Packagist / Composer 中国全量镜像
7.使用 Composer 中的 autoload 实现自动加载命名空间
首页 开发工具 composer php composer的简明安装步骤及使用方法

php composer的简明安装步骤及使用方法

Jan 12, 2022 pm 04:07 PM
composer linux php

本文由composer教程栏目给大家介绍安装php composer的简明安装步骤方法,希望对需要的朋友有所帮助!

1.简介

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

2.系统要求

运行 Composer 需要 PHP 5.3.2+ 以上版本。
Composer 是多平台的,它可以同时在 Windows 、 Linux 以及 OSX 平台上运行。

3.安装(ubuntu)

curl -sS https://getcomposer.org/installer | php mv composer.phar
mv composer.phar /usr/local/bin/composer
登录后复制
注:如果没有安装curl,可以通过以下命令安装
apt-get update
apt-get install curl
登录后复制

当你的 Composer 安装完毕之后,你可以实用下列命令查看是否安装成功

composer -v
登录后复制
注 如果上述方法由于某些原因失败了,你还可以通过 php 下载安装器:
php -r "readfile('https://getcomposer.org/installer');" | php
登录后复制

这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。

你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径)

4.使用

要开始在你的项目中使用 Composer,你只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。

首先创建一个 composer.json 文件,写入相应的包名和版本号,如

{    
    "require": {
        "monolog/monolog": "1.13.*"
    }
}
登录后复制

这是后就写入了一个依赖包,之后安装依赖包。获取定义的依赖到你的本地项目,之后在你的项目目录中(即 composer.json 所在目录)使用 Composer 运行 install 命令。

composer install
登录后复制

当然,如果是在 Windows 系统中,也可以通过调用 composer.phar 包来进行依赖包的安装。

php composer.phar install
登录后复制

执行 composer install,就进入自动安装,安装完成后会生成一个 composer.lock 文件,里面是特定的版本号名,需要这个文件和 composer.json 一起提交到版本管理里去。

最后,在需要更新依赖包的时候,可以使用以下命令

composer update
登录后复制

如果只想更新部分依赖

composer update monolog/monolog
登录后复制

5.自动加载

对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件。你可以在你项目的入口文件中引入它

<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;
?>
登录后复制

这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 monolog,你就可以像这样开始使用这个类库,并且他们将被自动加载。

<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$log = new Monolog\Logger(&#39;name&#39;);
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');
?>
登录后复制

6.Packagist / Composer 中国全量镜像

由于墙的问题,所以会导致 Composer 的国外镜像经常无法正常的 install,所以推荐使用国内的镜像,使用方式如下

有两种方式启用本镜像服务:

  • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。详见”方法一“
  • 将配置信息添加到某个项目的 composer.json 文件中。详见”方法二“

方法一: 修改 composer 的全局配置文件
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com
登录后复制

方法二: 修改当前项目的 composer.json 配置文件:

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com
登录后复制

上述命令将会在当前项目中的 composer.json 文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):

"repositories": {
    "packagist": {
        "type": "composer",
        "url": "https://packagist.phpcomposer.com"
    }
}
登录后复制

7.使用 Composer 中的 autoload 实现自动加载命名空间

Composer 除了可以帮你安装所需要的依赖包以外,还可以实现自动加载命名空间的功能,当我们自己编写的函数库与类库需要自动加载时,我们就可以通过 composer.json 来实现。它类似于 php 中的 spl_autoload_register(), 其实如果你去查看 Composer 中的源代码,你会看到它的自动加载功能也是用了 spl_autoload_register() 这个函数。《具体可看此文章详细介绍》

我们在 composer.json 里添加如下代码:

{
    "autoload": {
        "psr-4": {
            "Test\\": "test/",
            "Testtwo\\": "testtwo/"
        }
    }
}
登录后复制

这个配置文件中有一个 autoload 段,其中有个 《PSR-4》,psr-4 是一个基于 psr-4 规则的类库自动加载对应关系,只要在其后的对象中,以 ”命名空间“: “路径” 的方式写入自己的类库信息修改完成后,之后,在执行下列命令,即可完成自动加载。

composer dumpautoload
登录后复制
注: "psr-4": {"Test\\": "test/"} 中的 "test/" 路径为相对于  composer.json 的路径

这个时候,你就可以调用你自己编写的函数库或者类库了

<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$testClass = new \Test\Testclass();
?>
登录后复制
注:本文内容参考了《Composer 中文网》,后续还会更新 Composer 其它的实用功能

以上是php composer的简明安装步骤及使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

解决 Craft CMS 中的缓存问题:使用 wiejeben/craft-laravel-mix 插件 解决 Craft CMS 中的缓存问题:使用 wiejeben/craft-laravel-mix 插件 Apr 18, 2025 am 09:24 AM

在使用CraftCMS开发网站时,常常会遇到资源文件缓存的问题,特别是当你频繁更新CSS和JavaScript文件时,旧版本的文件可能仍然被浏览器缓存,导致用户无法及时看到最新的更改。这个问题不仅影响用户体验,还会增加开发和调试的难度。最近,我在项目中遇到了类似的困扰,经过一番探索,我找到了wiejeben/craft-laravel-mix这个插件,它完美地解决了我的缓存问题。

如何使用Composer快速搭建LaravelCMS:mki-labs/espresso的实战经验 如何使用Composer快速搭建LaravelCMS:mki-labs/espresso的实战经验 Apr 18, 2025 am 07:36 AM

在开发一个新的Laravel项目时,我遇到了一个棘手的问题:如何快速搭建一个功能齐全且易于管理的内容管理系统(CMS)。我尝试了多种解决方案,但都因为复杂的配置和不便的维护而放弃。直到我发现了mki-labs/espresso这个LaravelCMS包,它不仅安装简单,还提供了强大的功能和直观的管理界面,彻底解决了我的问题。

如何使用 Composer 解决 HTTP 请求问题:yiche/http 库的实用指南 如何使用 Composer 解决 HTTP 请求问题:yiche/http 库的实用指南 Apr 18, 2025 am 08:06 AM

在开发过程中,经常需要处理HTTP请求,这可能是为了获取数据、发送数据或者与外部API交互。然而,当面对复杂的网络环境和多变的请求需求时,如何高效地处理HTTP请求成为了一个挑战。我曾在一个项目中遇到过这样的问题:需要频繁地向不同的API发送请求,同时还要记录这些请求的日志,以便于后续的调试和分析。尝试了几种方法后,我发现了yiche/http这个库,它不仅简化了HTTP请求的处理,还提供了动态日志记录的功能,极大地提升了开发效率。

如何使用 Composer 解决 JavaScript 错误处理的难题 如何使用 Composer 解决 JavaScript 错误处理的难题 Apr 18, 2025 am 08:30 AM

在开发一个复杂的Web应用时,我遇到了一个棘手的问题:如何有效地处理JavaScript错误并将其记录下来。我尝试了几种方法,但都无法满足我的需求,直到我发现了dvasilenko/alterego_tools这个库。通过Composer安装这个库,我轻松解决了这个问题,并且大大提升了项目的可维护性和稳定性。可以通过以下地址学习Composer:学习地址

使用Symfony/Console库创建高效命令行接口的实践经验 使用Symfony/Console库创建高效命令行接口的实践经验 Apr 18, 2025 am 07:30 AM

在项目开发中,经常需要创建命令行工具来简化日常任务或自动化流程。然而,创建一个美观且易于测试的命令行接口并非易事。最近,我在开发一个需要命令行工具的项目时遇到了这个问题。经过一番探索,我找到了Symfony/Console库,它大大简化了命令行接口的创建过程。

使用Composer解决依赖注入:PSR-11容器接口的应用 使用Composer解决依赖注入:PSR-11容器接口的应用 Apr 18, 2025 am 07:39 AM

在开发一个大型PHP项目时,我遇到了一个常见但棘手的问题:如何有效地管理和注入依赖。最初,我尝试使用全局变量和手动注入,但这不仅增加了代码的复杂度,还容易导致错误。最终,我通过使用PSR-11容器接口,并借助Composer的强大功能,成功解决了这个问题。

如何使用Composer解决Yii框架下的数据批量处理问题 如何使用Composer解决Yii框架下的数据批量处理问题 Apr 18, 2025 am 07:54 AM

在开发Yii框架项目时,常常会遇到需要从数据库中获取大量数据的情况。如果不采取适当的措施,直接获取所有数据可能会导致内存溢出,影响程序性能。最近在处理一个大型电商平台的项目时,我遇到了这种问题,经过一番研究和尝试,最终通过pavle/yii-batch-result这个扩展库解决了难题。

oTranCe翻译平台的使用与替代方案 oTranCe翻译平台的使用与替代方案 Apr 18, 2025 am 08:45 AM

在项目开发中,常常需要多语言支持,而oTranCe曾经是一个非常受欢迎的解决方案。然而,最近我发现oTranCe项目已经不再维护和更新,这让我不得不寻找新的替代方案来满足项目需求。幸运的是,Composer提供了一个便捷的方法来管理和安装替代的翻译平台。

See all articles