스크립트를 사용하여 작곡가 이벤트에 어떻게 연결합니까?
Custom Logic을 실행하려면 Composer 스크립트를 사용하고 먼저 Composer.json에 스크립트 블록을 추가하고 이벤트를 추가하십시오. 주요 단계는 다음과 같습니다. 1. 설치 사후 -CMD 등과 같은 작곡가의 내장 이벤트를 이해합니다. 2. 스크립트 블록을 설정하고 필요에 따라 명령 또는 스크립트 배열을 지정하고 순서대로 실행하십시오. 3. 클래스 처리를 사용하여보다 복잡한 제어를 달성하고 정적 방법을 통해 이벤트 및 IO 인터페이스를받습니다. 4. 테스트 중에 작곡가 명령을 수동으로 실행하고 출력 및 반환 코드를 확인하여 스크립트가 정상적으로 작동하는지 확인하십시오.
AutoLoads 설치, 업데이트 또는 덤프와 같은 작곡가 작업 중에 사용자 정의 로직을 실행하려면 composer.json
의 scripts
섹션을 사용하여 작곡가 이벤트에 연결할 수 있습니다. 이를 통해 캐시 청소, 빌드 단계 실행 또는 작곡가가 수행하는 작업에 따라 알림을 트리거하는 것과 같은 작업을 자동화 할 수 있습니다.
작곡가 스크립트를 실제로 사용하고 내장 이벤트에 응답하는 방법은 다음과 같습니다.
작곡가 이벤트 및 스크립트 이름 이해
작곡가는 수명주기 동안 미리 정의 된 여러 이벤트를 발사합니다. 여기에는 다음이 포함됩니다.
-
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 install
후 post-install-cmd
실행되며 composer update
후 post-update-cmd
실행됩니다.
당신은 그들 모두를 사용할 필요는 없지만 어떤 것이 존재하는지 아는 것은 자신의 논리를 주입 할 올바른 순간을 선택하는 데 도움이됩니다.
Composer.json에서 스크립트 설정
이러한 이벤트에 연결하려면 composer.json
에 scripts
블록을 추가하십시오. 기본 예는 다음과 같습니다.
{ "스크립트": { "사후 -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 환경에 배포 할 때 사용자 정의 스크립트로 물건을 깨뜨릴 수 있습니다. 로컬 테스트 :
-
composer install
또는 수동으로update
출력을 시청하십시오. -
echo
또는 로깅을 사용하여 스크립트가 실행되었는지 확인하십시오. - 반환 코드 확인-스크립트가 0이 아닌 상태로 종료되면 작곡가는이를 실패로 취급합니다.
또한 명심하십시오.
- 스크립트는 종속 패키지에 의해 상속되므로 다른 사람의 이유없이 다른 사람을 무시하지 않도록주의하십시오.
- 필요한 경우가 아니라면 장기적인 프로세스를 피하십시오. 작곡가는 스크립트가 빠르게 완료 될 것으로 기대합니다.
기본적으로 그게 다야. 이벤트 이름과 composer.json
을 구조화하는 방법을 알면 스크립트를 통해 작곡가 이벤트에 연결하는 것이 간단합니다. Simple Shell Commands 또는 전체 PHP 클래스를 호출하든 프로젝트의 동작을 종속성 관리에 묶는 강력한 방법입니다.
위 내용은 스크립트를 사용하여 작곡가 이벤트에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

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

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

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

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

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

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

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

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