목차
1. 소개
2. 시스템 요구 사항
3. 설치(우분투)
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. 설치(우분투)

curl -sS https://getcomposer.org/installer | php mv composer.phar
mv composer.phar /usr/local/bin/composer
로그인 후 복사
참고: 컬이 설치되지 않은 경우 다음 명령을 통해 설치할 수 있습니다.
apt-get update
apt-get install curl
로그인 후 복사

Composer가 설치된 후 다음 명령을 사용하여 설치 성공 여부를 확인할 수 있습니다

composer -v
로그인 후 복사
참고 위 방법이 어떤 이유로 실패하는 경우 PHP를 통해 설치 프로그램을 다운로드할 수도 있습니다.
php -r "readfile('https://getcomposer.org/installer');" | php
로그인 후 복사

이렇게 하면 일부 PHP 설정을 확인한 다음 composer.phar를 작업 디렉터리에 다운로드합니다. . 이것은 Composer 바이너리입니다. 이것은 사용자가 명령줄에서 일부 작업을 수행하는 데 도움이 되는 PHP 아카이브 형식인 PHAR 패키지(PHP 아카이브)입니다. omposer.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

--install-dir 옵션을 통해 Composer 설치 디렉터리를 지정할 수 있습니다(절대 경로 또는 상대 경로일 수 있음) 🎜🎜4. 프로젝트에서 Composer 사용을 시작하려면 🎜🎜을 사용하세요. composer.json 파일이 필요합니다. 이 파일에는 프로젝트의 종속성 및 기타 메타데이터가 포함되어 있습니다. 🎜🎜먼저 composer.json 파일을 생성하고 🎜
{
    "autoload": {
        "psr-4": {
            "Test\": "test/",
            "Testtwo\": "testtwo/"
        }
    }
}
로그인 후 복사
🎜와 같이 해당 패키지 이름과 버전 번호를 작성한 후 종속성 패키지를 작성한 후 종속성 패키지를 설치합니다. 로컬 프로젝트에 대해 정의된 종속성을 가져온 다음 Composer를 사용하여 프로젝트 디렉터리(즉, composer.json가 있는 디렉터리)에서 install 명령을 실행하세요. 🎜
composer dumpautoload
로그인 후 복사
로그인 후 복사
🎜물론 Windows 시스템을 사용하는 경우 composer.phar 패키지를 호출하여 종속 패키지를 설치할 수도 있습니다. 🎜
<?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$testClass = new \Test\Testclass();
?>
로그인 후 복사
로그인 후 복사
🎜 composer install을 실행하여 자동 설치로 들어갑니다. 설치가 완료되면 특정 버전 번호가 포함된 composer.lock 파일이 생성됩니다. composer.json은 버전 관리에 함께 제출됩니다. 🎜🎜마지막으로 종속성 패키지를 업데이트해야 하는 경우 다음 명령을 사용할 수 있습니다.🎜rrreee🎜일부 종속성만 업데이트하려는 경우🎜rrreee🎜5. 자동 로딩🎜🎜라이브러리의 자동 로딩 정보를 위해 Composer는 vendor/autoload.php 파일. 프로젝트의 항목 파일에 도입할 수 있습니다🎜rrreee🎜이렇게 하면 타사 코드를 쉽게 사용할 수 있습니다. 예를 들어 프로젝트가 모노로그에 의존하는 경우 이와 같이 라이브러리 사용을 시작하면 자동으로 로드됩니다. 🎜rrreee🎜6. Packagist / Composer China 전체 이미지🎜🎜컴포저의 외국 이미지는 벽 문제로 인해 정상적으로 설치가 되지 않는 경우가 많으므로, 국내 이미지 사용을 권장합니다🎜 🎜 이 미러 서비스를 활성화하는 방법에는 두 가지가 있습니다: 🎜
  • 시스템 전역 구성: 구성 정보를 Composer의 전역 구성 파일 config.json에 추가합니다. 자세한 내용은 "방법 1"을 참조하세요.
  • 프로젝트의 작곡가.json 파일에 구성 정보를 추가하세요. 자세한 내용은 "방법 2"를 참조하세요.
🎜방법 1: 작곡가의 전역 구성 파일 수정 🎜명령줄 창(Windows 사용자) 또는 콘솔(Linux, Mac 사용자)을 열고 다음 명령을 실행합니다. 🎜 rrreee🎜 방법 2: 현재 프로젝트의 composer.json 구성 파일을 수정합니다. 🎜🎜명령줄 창(Windows 사용자) 또는 콘솔(Linux, Mac 사용자)을 열고 루트 디렉터리를 입력합니다. 프로젝트(즉, composer.json 파일이 있는 디렉터리)에서 다음 명령을 실행합니다. 🎜rrreee🎜 위 명령은 끝에 미러 구성 정보를 자동으로 추가합니다. >composer.json 파일을 현재 프로젝트에 추가합니다(수동으로 추가할 수도 있음):🎜rrreee🎜7. Composer에서 자동 로드를 사용하여 네임스페이스를 자동으로 로드합니다.🎜🎜필요한 종속성 패키지를 설치하는 데 도움이 되는 것 외에도 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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 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를 발견하여 캐싱 문제를 완벽하게 해결했습니다.

작곡가로 Laravelcms를 신속하게 구축하는 방법 : MKI-LABS/ESPRESSO 실제 경험 작곡가로 Laravelcms를 신속하게 구축하는 방법 : MKI-LABS/ESPRESSO 실제 경험 Apr 18, 2025 am 07:36 AM

새로운 Laravel 프로젝트를 개발할 때 까다로운 문제를 겪었습니다. 완전히 기능적이고 관리하기 쉬운 컨텐츠 관리 시스템 (CMS)을 신속하게 구축하는 방법. 여러 솔루션을 시도했지만 복잡한 구성과 불편한 유지 관리로 인해 모두 포기했습니다. 설치가 간단 할뿐만 아니라 강력한 기능과 직관적 인 관리 인터페이스를 제공하는 Laravelcms 패키지 MKI-Labs/Espresso를 발견 할 때까지 내 문제를 완전히 해결했습니다.

작곡가를 사용하여 HTTP 요청 문제 : Yiche/HTTP 라이브러리에 대한 실용 가이드 작곡가를 사용하여 HTTP 요청 문제 : Yiche/HTTP 라이브러리에 대한 실용 가이드 Apr 18, 2025 am 08:06 AM

개발 중에 HTTP 요청이 종종 필요하며, 이는 데이터를 가져 오거나 데이터를 보내거나 외부 API와 상호 작용하는 것일 수 있습니다. 그러나 복잡한 네트워크 환경과 변경 요청 요구 사항에 직면 할 때 HTTP 요청을 효율적으로 처리하는 방법이 어려워집니다. 프로젝트에서 문제가 발생했습니다. 요청을 다른 API에 자주 보내야하고 후속 디버깅 및 분석을 용이하게하기 위해 요청을 기록해야합니다. 몇 가지 방법을 시도한 후 Yiche/HTTP 라이브러리를 발견했습니다. HTTP 요청의 처리를 단순화 할뿐만 아니라 동적 로깅 기능을 제공하여 개발 효율성을 크게 향상시킵니다.

작곡가를 사용한 JavaScript 오류 처리 문제를 해결하는 방법 작곡가를 사용한 JavaScript 오류 처리 문제를 해결하는 방법 Apr 18, 2025 am 08:30 AM

복잡한 웹 응용 프로그램을 개발할 때 어려운 문제가 있습니다. JavaScript 오류를 효과적으로 처리하고 로그인하는 방법. 나는 몇 가지 방법을 시도했지만 도서관 dvasilenko/alterego_tools를 발견 할 때까지 아무도 내 요구를 충족시킬 수 없었습니다. 작곡가를 통해이 라이브러리를 설치 하여이 문제를 쉽게 해결하고 프로젝트의 유지 관리 및 안정성을 크게 향상 시켰습니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

Symfony/Console Library를 사용하여 효율적인 명령 줄 인터페이스 작성에 대한 실제 경험 Symfony/Console Library를 사용하여 효율적인 명령 줄 인터페이스 작성에 대한 실제 경험 Apr 18, 2025 am 07:30 AM

프로젝트 개발에서는 일상적인 작업을 단순화하거나 프로세스를 자동화하기 위해 명령 줄 도구를 작성해야합니다. 그러나 아름답고 테스트하기 쉬운 명령 줄 인터페이스를 만드는 것은 쉽지 않습니다. 최근에 저는 명령 줄 도구가 필요한 프로젝트를 개발 하면서이 문제를 겪었습니다. 약간의 탐색 후, 나는 Symfony/Console 라이브러리를 발견하여 명령 줄 인터페이스의 생성 프로세스를 크게 단순화합니다.

의존성 주입을 해결하기 위해 작곡가 사용 : PSR-11 컨테이너 인터페이스의 적용 의존성 주입을 해결하기 위해 작곡가 사용 : PSR-11 컨테이너 인터페이스의 적용 Apr 18, 2025 am 07:39 AM

대규모 PHP 프로젝트를 개발할 때 일반적이지만 까다로운 문제를 겪었습니다. 의존성을 효과적으로 관리하고 주입하는 방법. 처음에는 글로벌 변수와 수동 주입을 사용하려고 시도했지만 코드의 복잡성을 증가시킬뿐만 아니라 오류가 쉽게 이어졌습니다. 마지막으로 PSR-11 컨테이너 인터페이스와 작곡가의 전력을 사용 하여이 문제를 성공적으로 해결했습니다.

작곡가를 사용하여 YII 프레임 워크에서 데이터의 배치 처리 문제를 해결하는 방법 작곡가를 사용하여 YII 프레임 워크에서 데이터의 배치 처리 문제를 해결하는 방법 Apr 18, 2025 am 07:54 AM

YII 프레임 워크 프로젝트를 개발할 때는 종종 데이터베이스에서 많은 양의 데이터를 얻어야하는 상황을 만나게됩니다. 적절한 조치를 취하지 않으면 모든 데이터를 직접 얻으면 메모리 오버플로가 발생하고 프로그램 성능에 영향을 줄 수 있습니다. 최근에 대규모 전자 상거래 플랫폼에 대한 프로젝트를 다룰 때이 문제가 발생했습니다. 약간의 연구 및 시험 후, 나는 Pavle/YII-Batch-Result의 확장 라이브러리를 통해 문제를 해결했습니다.

Otrance Translation 플랫폼의 사용 및 대안 Otrance Translation 플랫폼의 사용 및 대안 Apr 18, 2025 am 08:45 AM

다국어 지원은 프로젝트 개발에 종종 필요하며 Otrance는 한때 매우 인기있는 솔루션이었습니다. 그러나 최근에 나는 Otrance 프로젝트가 더 이상 유지되고 업데이트되지 않는다는 것을 발견하여 프로젝트 요구를 충족시키기위한 새로운 대안을 찾아야했습니다. 다행히도 Composer는 대체 번역 플랫폼을 관리하고 설치하는 편리한 방법을 제공합니다.

See all articles