> 개발 도구 > composer > php-composer(간편 버전) 설치 및 사용에 대해

php-composer(간편 버전) 설치 및 사용에 대해

藏色散人
풀어 주다: 2021-03-17 18:12:26
앞으로
3793명이 탐색했습니다.

다음 튜토리얼 칼럼인 composer에서는 php-composer(간편 버전)의 설치 및 사용법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

php-composer(간편 버전) 설치 및 사용에 대해

1. 소개

Composer는 PHP용 종속성 관리 도구입니다. 이를 통해 프로젝트가 의존하는 코드 라이브러리를 선언할 수 있으며 프로젝트에 해당 라이브러리가 설치됩니다.
《Composer 중국어 웹사이트》

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🎜 위 명령은 끝에 미러 구성 정보를 자동으로 추가합니다. 현재 프로젝트의 작곡가.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿