Composer의 제한 사항에는 성능 오버헤드, 잠금 센터 종속성, 엔드투엔드 테스트 부족이 포함됩니다. 대안은 다음과 같습니다.
성능 오버헤드:
Composer의 자동 로딩 메커니즘은 특히 프로젝트가 많은 수의 패키지에 의존하는 경우 성능 오버헤드를 유발할 수 있습니다.중앙 종속성 잠금:
Composer에서는 모든 종속성이 프로젝트 디렉터리의파일에 잠겨 있어야 하므로 사용자 정의 애플리케이션 동작이 제한될 수 있습니다.
제한된 종단 간 테스트:Composer는 패키지의 종단 간 테스트를 지원하지 않으므로 통합 문제가 발생할 수 있습니다.
composer.lock
1. PSR-4 자동 로딩성능 오버헤드와 같은 Composer 1의 일부 제한 사항을 해결한 최신 버전의 Composer입니다.
3. YarnYarn은 JavaScript 생태계에서 널리 사용되는 패키지 관리자이며 PHP에도 사용할 수 있습니다. 높은 성능과 Yarn 플러그인 지원으로 유명합니다.
4. 종속성 관리자(Composer 1 호환)종속성 관리자는 자동 공급업체 및 사용자 정의 패키지 소스 지원과 같은 몇 가지 추가 기능을 제공하는 Composer 1의 대안입니다.
실제 예PSR-4 자동 로딩을 PHP 8과 함께 사용:
// composer.json { "require": { "guzzlehttp/guzzle": "^7.4" }, "autoload": { "psr-4": { "": "src/" } } } // src/MyClass.php namespace MyApp; class MyClass { // ... } // index.php require __DIR__ . '/vendor/autoload.php'; use MyApp\MyClass; $myClass = new MyClass();
Composer 2 사용:
// composer2.json { "require": { "guzzlehttp/guzzle": "^7.4" } } // Run composer install composer install --prefer-dist // index.php require __DIR__ . '/vendor/autoload.php'; use GuzzleHttp\Client; $client = new Client();Yarn 사용:
// Install Yarn
npm install -g yarn
// yarn.lock
{
"dependencies": {
"guzzlehttp/guzzle": "^7.4"
}
}
// Run yarn install
yarn install
// index.php
require __DIR__ . '/vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
위 내용은 Composer의 한계와 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!