목차
작곡가 이벤트 및 스크립트 이름 이해
Composer.json에서 스크립트 설정
더 많은 제어를 위해 이벤트 클래스를 사용합니다
스크립트 테스트 및 디버깅
개발 도구 composer 스크립트를 사용하여 작곡가 이벤트에 어떻게 연결합니까?

스크립트를 사용하여 작곡가 이벤트에 어떻게 연결합니까?

Jul 26, 2025 am 07:52 AM
composer 각본

Custom Logic을 실행하려면 Composer 스크립트를 사용하고 먼저 Composer.json에 스크립트 블록을 추가하고 이벤트를 추가하십시오. 주요 단계는 다음과 같습니다. 1. 설치 사후 -CMD 등과 같은 작곡가의 내장 이벤트를 이해합니다. 2. 스크립트 블록을 설정하고 필요에 따라 명령 또는 스크립트 배열을 지정하고 순서대로 실행하십시오. 3. 클래스 처리를 사용하여보다 복잡한 제어를 달성하고 정적 방법을 통해 이벤트 및 IO 인터페이스를받습니다. 4. 테스트 중에 작곡가 명령을 수동으로 실행하고 출력 및 반환 코드를 확인하여 스크립트가 정상적으로 작동하는지 확인하십시오.

AutoLoads 설치, 업데이트 또는 덤프와 같은 작곡가 작업 중에 사용자 정의 로직을 실행하려면 composer.jsonscripts 섹션을 사용하여 작곡가 이벤트에 연결할 수 있습니다. 이를 통해 캐시 청소, 빌드 단계 실행 또는 작곡가가 수행하는 작업에 따라 알림을 트리거하는 것과 같은 작업을 자동화 할 수 있습니다.

작곡가 스크립트를 실제로 사용하고 내장 이벤트에 응답하는 방법은 다음과 같습니다.


작곡가 이벤트 및 스크립트 이름 이해

작곡가는 수명주기 동안 미리 정의 된 여러 이벤트를 발사합니다. 여기에는 다음이 포함됩니다.

  • pre-install-cmd
  • post-install-cmd
  • pre-update-cmd
  • post-update-cmd
  • pre-autoload-dump
  • post-autoload-dump
  • post-package-install
  • post-package-update
  • post-root-package-install

이러한 각 스크립트 이름은 작곡가 명령 중에 발생하는 이벤트에 해당합니다. 예를 들어, composer installpost-install-cmd 실행되며 composer updatepost-update-cmd 실행됩니다.

당신은 그들 모두를 사용할 필요는 없지만 어떤 것이 존재하는지 아는 것은 자신의 논리를 주입 할 올바른 순간을 선택하는 데 도움이됩니다.


Composer.json에서 스크립트 설정

이러한 이벤트에 연결하려면 composer.jsonscripts 블록을 추가하십시오. 기본 예는 다음과 같습니다.

 {
  "스크립트": {
    "사후 -CMD": [
      "Echo 'Composer Install Complete!'",
      "PHP bin/notify_dev_team.php"
    ],,
    "Post-Update-CMD": "PHP BIN/CLEAR_CACHE.PHP"
  }
}

이 경우 :

  • composer install 후 메시지를 인쇄하고 알림 스크립트를 트리거합니다.
  • composer update 후 PHP 파일을 호출하여 캐시가 지워집니다.

필요한 경우 Shell Scripts, Artisan 명령 (Laravel) 또는 NPM 스크립트를 호출 할 수도 있습니다. 경로가 정확하고 실행 가능한지 확인하십시오.

몇 가지 팁 :

  • 이벤트 당 여러 명령을 배열로 나열 할 수 있습니다.
  • 각 명령은 순서대로 실행됩니다.
  • 실패하면, @ prepend @ 실패를 무시하지 않으면 작곡가가 중단됩니다. @php something-that-might-fail.php

더 많은 제어를 위해 이벤트 클래스를 사용합니다

더 많은 유연성이 필요하거나 매개 변수를 작곡가에서 코드로 전달하려면 쉘 명령 대신 클래스 기반 핸들러를 사용할 수 있습니다.

예를 들어:

 {
  "스크립트": {
    "Post-Install-CMD": "My \\ Script \\ Handler :: OnPostinStall"
  }
}

이것은 정적 메소드 onPostInstall() 으로 클래스 My\Script\Handler 작성한 것으로 가정합니다. 이 방법은 두 가지 인수를받습니다.

  • Composer\Script\Event
  • 작곡가 IO 인터페이스 ( Composer\IO\IOInterface )

이를 통해 패키지 이름, 명령에 전달 된 옵션과 같은 것들에 액세스 할 수 있으며 앱 컨텍스트 내에서보다 강력한 스크립팅을 할 수 있습니다.

Autoloader에 작곡가를 찾아 실행할 수 있도록 핸들러가 라이브 인 네임 스페이스가 포함되어 있는지 확인하십시오.


스크립트 테스트 및 디버깅

특히 프로덕션 또는 CI 환경에 배포 할 때 사용자 정의 스크립트로 물건을 깨뜨릴 수 있습니다. 로컬 테스트 :

  1. composer install 또는 수동으로 update 출력을 시청하십시오.
  2. echo 또는 로깅을 사용하여 스크립트가 실행되었는지 확인하십시오.
  3. 반환 코드 확인-스크립트가 0이 아닌 상태로 종료되면 작곡가는이를 실패로 취급합니다.

또한 명심하십시오.

  • 스크립트는 종속 패키지에 의해 상속되므로 다른 사람의 이유없이 다른 사람을 무시하지 않도록주의하십시오.
  • 필요한 경우가 아니라면 장기적인 프로세스를 피하십시오. 작곡가는 스크립트가 빠르게 완료 될 것으로 기대합니다.

기본적으로 그게 다야. 이벤트 이름과 composer.json 을 구조화하는 방법을 알면 스크립트를 통해 작곡가 이벤트에 연결하는 것이 간단합니다. Simple Shell Commands 또는 전체 PHP 클래스를 호출하든 프로젝트의 동작을 종속성 관리에 묶는 강력한 방법입니다.

위 내용은 스크립트를 사용하여 작곡가 이벤트에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

Laravel 패키지 (패키지) 개발을 만드는 방법? Laravel 패키지 (패키지) 개발을 만드는 방법? May 29, 2025 pm 09:12 PM

Laravel에서 패키지를 만드는 단계에는 다음이 포함됩니다. 1) 모듈성 및 재사용과 같은 패키지의 장점 이해; 2) 라벨 명명 및 구조적 사양에 따른다. 3) Artisan Command를 사용하여 서비스 제공 업체 작성; 4) 구성 파일을 올바르게 게시; 5) Packagist에 버전 제어 및 게시 관리; 6) 엄격한 테스트 수행; 7) 자세한 문서 작성; 8) 다른 라벨 버전과의 호환성 보장.

Composer는 PHP 프로젝트에서 의존성을 어떻게 관리하고 Composer.json 및 Composer.lock의 역할은 무엇입니까? Composer는 PHP 프로젝트에서 의존성을 어떻게 관리하고 Composer.json 및 Composer.lock의 역할은 무엇입니까? Jun 14, 2025 am 12:31 AM

ComposerManagesDependenciesInphPprojectsBylettingyoudeClarequiredLibrarieswithversionconstraintSincomposer.json, whilecomposer.lockrecordsexactinstalledversions.1.composer.jsondefinesprojectmetataanddencecies withversionranges (e.g,,,,,,, monolog

Packagist 란 무엇이며 작곡가에서 어떤 역할을합니까? Packagist 란 무엇이며 작곡가에서 어떤 역할을합니까? Jun 25, 2025 am 12:04 AM

Packagist는 PHP 패키지의 중앙 집중식 관리 및 발견을위한 Composer의 기본 패키지 저장소입니다. 코드 자체 대신 패키지의 메타 데이터를 저장하여 개발자가 Composer.json을 통해 종속성을 정의하고 설치 시간에 소스 (예 : Github)에서 코드를 가져올 수 있습니다. 핵심 기능에는 다음이 포함됩니다. 1. 중앙 집중식 패키지 브라우징 및 검색을 제공합니다. 2. 종속성 제약 조건을 충족시키기위한 버전 관리; 3. 자동 업데이트는 WebHooks를 통해 달성됩니다. 커스텀 리포지토리는 작곡가를 사용하도록 구성 할 수 있지만 Packagist는 공개 패키지의 배포 프로세스를 단순화합니다. 게시 패키지는 Packagist에 제출하고 웹 후크를 설정하여 다른 사람들이 ComposerRequire를 한 번 클릭하여 설치할 수 있도록 웹 후크를 설정해야합니다.

Composer.json의 자동로드 섹션은 무엇입니까? Composer.json의 자동로드 섹션은 무엇입니까? Jun 12, 2025 pm 12:57 PM

Composer.json의 자동로드 구성은 파일의 수동 포함을 피하고 PHP 클래스를 자동으로로드하는 데 사용됩니다. PSR-4 표준을 사용하여 네임 스페이스를 "app \"와 같은 디렉토리에 매핑합니다. ClastMap은 네임 스페이스가없는 레거시 코드에 적합한 클래스 맵을 생성하기 위해 특정 디렉토리를 스캔하는 데 사용됩니다. 파일은 매번 지정된 파일을로드하는 데 사용되며 함수 또는 상수 정의 파일에 적합합니다. 구성을 수정 한 후에는 ComposerDump-AutoLoad를 실행하여 프로덕션 환경에서 사용할 수있는 자동 로더를 생성해야합니다.

생산 환경에서 작곡가를 사용하기위한 모범 사례는 무엇입니까? 생산 환경에서 작곡가를 사용하기위한 모범 사례는 무엇입니까? Jul 08, 2025 am 01:00 AM

생산 환경에서 작곡가를 사용할 때는 안전, 안정성 및 성능에주의를 기울여야합니다. 1. ComposerInstall-No-DEV를 사용하여 불필요한 개발 종속성을 줄이고 온라인 환경 위험을 줄입니다. 2. 항상 Composer.Lock 파일을 제출하고 의존하여 버전 일관성을 보장하고 배포 중에 업데이트를 사용하지 않도록하십시오. 3. 선택적 구성 플랫폼 확인 = False는 플랫폼 차이를 무시하며 포장 시나리오를 구축하는 데 적합합니다. 4. APCU가 자동 적재량을 가속화하여 성능을 향상시키기 위해, 특히 높은 동시성 서비스에 적합한 성능을 향상시키고, 캐시 충돌을 피하기 위해 네임 스페이스 독창성에주의를 기울 이도록합니다.

PHP는 AI 지능형 음성 보조 PHP 음성 상호 작용 시스템 구성을 호출합니다. PHP는 AI 지능형 음성 보조 PHP 음성 상호 작용 시스템 구성을 호출합니다. Jul 25, 2025 pm 08:45 PM

사용자 음성 입력은 프론트 엔드 JavaScript의 MediareCorder API를 통해 PHP 백엔드로 캡처되어 전송됩니다. 2. PHP는 오디오를 임시 파일로 저장하고 STTAPI (예 : Google 또는 Baidu 음성 인식)를 호출하여 텍스트로 변환합니다. 3. PHP는 텍스트를 AI 서비스 (예 : OpenAigpt)로 보냅니다. 4. 그런 다음 PHP는 TTSAPI (예 : Baidu 또는 Google 음성 합성)를 호출하여 응답을 음성 파일로 변환합니다. 5. PHP는 음성 파일을 프론트 엔드로 되돌아 가서 상호 작용을 완료합니다. 전체 프로세스는 PHP에 의해 지배되어 모든 링크 간의 원활한 연결을 보장합니다.

Composer를 사용하여 특정 패키지에 대한 정보를 어떻게 보나요? (작곡가 쇼) Composer를 사용하여 특정 패키지에 대한 정보를 어떻게 보나요? (작곡가 쇼) Jun 21, 2025 am 12:02 AM

Composer의 특정 패키지에 대한 자세한 정보를 신속하게 얻으려면 ComposerShowvendor/Package 명령을 사용하십시오. 예를 들어, Composershowmonolog/monolog는 버전, 설명, 종속성 및 기타 정보를 표시합니다. 이름이 확실하지 않은 경우 일부 이름을 사용하여 결합하여 플랫폼 요구 사항을 볼 수 있습니다. 출력을 단순화하기 위해 -name 전용을 추가합니다. -V를 사용하여 자세한 내용을 표시하십시오. 독백/*와 같은 와일드 카드 검색을 지원하십시오.

운영 체제 (Windows, MacOS, Linux)에 작곡가를 어떻게 설치합니까? 운영 체제 (Windows, MacOS, Linux)에 작곡가를 어떻게 설치합니까? Jul 01, 2025 am 12:15 AM

작곡가를 설치하는 데는 몇 단계 만 소요되며 Windows, MacOS 및 Linux에 적합합니다. Windows 사용자는 Composer-Setup.exe를 다운로드하여 PHP를 설치하거나 XAMPP를 사용하도록해야합니다. MacOS 사용자는 터미널을 통해 다운로드, 확인 및 글로벌 설치 명령을 실행해야합니다. Linux 사용자는 MacOS와 유사하게 작동 한 다음 해당 패키지 관리자를 사용하여 PHP를 설치하고 Composer 파일을 Global Directory로 다운로드하여 이동합니다.

See all articles