Composer는 차세대 PHP 종속성 관리 도구입니다. 이 기사에서는 PHP 개발의 편의성을 높이기 위해 Composer 사용에 대한 5가지 팁을 소개합니다.
1. 단일 라이브러리만 업데이트합니다
특정 라이브러리만 업데이트하고 모든 종속성을 업데이트하고 싶지는 않습니다. 매우 간단합니다
composer update foo/bar
또한 이 트릭을 사용하여 문제를 해결할 수도 있습니다. "경고 메시지 문제". 다음과 같은 경고 메시지를 본 적이 있을 것입니다.
Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.
ru, 무엇이 잘못되었나요? 당황하지 말 것! 작곡가.json을 편집하면 다음과 같은 내용이 표시됩니다. 예를 들어, 라이브러리 설명, 작성자, 추가 매개변수 또는 공백과 같은 세부사항을 추가하거나 업데이트하면 파일의 md5sum이 변경됩니다. 그러면 Composer는 해시 값이 작곡가.lock에 기록된 값과 다르다는 경고를 표시합니다.
그럼 우리는 어떻게 해야 할까요? update 명령은 잠금 파일을 업데이트할 수 있지만 일부 설명만 추가하는 경우 라이브러리를 업데이트해서는 안 됩니다. 이 경우 아무것도 업데이트하지 마세요.
$ composer update nothing Loading composer repositories with package information Updating dependencies Nothing to install or update Writing lock file Generating autoload files
이렇게 하면 Composer는 라이브러리를 업데이트하지 않지만 작곡가.잠금은 업데이트합니다. update 명령의 키워드는 아무것도 아닙니다. 이 패키지로 인해 발생하는 것은 없습니다. foobar를 입력해도 결과는 동일합니다.
사용 중인 Composer 버전이 충분히 새 버전인 경우 --lock 옵션을 직접 사용할 수 있습니다.
composer update --lock
2.composer.json을 편집하지 않고 라이브러리를 설치하세요
컴포저를 매번 수정해야 한다고 느낄 수도 있습니다. .json 라이브러리를 설치하는 것이 너무 번거로우면 require 명령을 직접 사용할 수 있습니다.
composer require "foo/bar:1.0.0"
이 방법을 사용하면 새 프로젝트를 빠르게 열 수도 있습니다. init 명령에는 자동으로 작곡가.json을 작성할 수 있는 --require 옵션이 있습니다. (질문에 대답할 필요가 없도록 -n을 사용합니다.)
$ composer init --require=foo/bar:1.0.0 -n $ cat composer.json { "require": { "foo/bar": "1.0.0" } }
3 초기화하는 동안 파생이 쉽습니다. create-project 명령을 사용해 보셨나요?
composer create-project doctrine/orm path 2.2.0
이렇게 하면 저장소가 자동으로 복제되고 지정된 버전이 체크아웃됩니다. 이 명령은 원본 URI를 검색할 필요가 없으므로 라이브러리를 복제할 때 사용하기 매우 편리합니다.
4. 캐싱을 고려하고 dist 패키지에 우선순위를 부여하세요.
작년의 Composer는 다운로드한 dist 패키지를 자동으로 보관합니다. 기본적으로 dist 패키지는 "symfony/symfony": "v2.1.4", 와일드카드나 버전 범위, "2.1.*" 또는 ">=2.2,
dist 패키지는 dev-master와 같은 브랜치에도 사용할 수 있으며 Github에서는 특정 git 참조의 압축 패키지를 다운로드할 수 있습니다. 소스 코드를 복제하는 대신 tarball을 강제로 사용하려면 설치 및 업데이트의 --prefer-dist 옵션을 사용할 수 있습니다.
다음은 예입니다(실행 시간을 표시하기 위해 --profile 옵션을 사용했습니다):
$ composer init --require="twig/twig:1.*" -n --profile Memory usage: 3.94MB (peak: 4.08MB), time: 0s $ composer install --profile Loading composer repositories with package information Installing dependencies - Installing twig/twig (v1.12.2) Downloading: 100% Writing lock file Generating autoload files Memory usage: 10.13MB (peak: 12.65MB), time: 4.71s $ rm -rf vendor $ composer install --profile Loading composer repositories with package information Installing dependencies from lock file - Installing twig/twig (v1.12.2) Loading from cache Generating autoload files Memory usage: 4.96MB (peak: 5.57MB), time: 0.45s
여기서 twig/twig:1.12.2의 압축 패키지는 ~/.composer/cache/files/twig에 저장됩니다. /나뭇가지 /1.12.2.0-v1.12.2.zip. 패키지를 다시 설치할 때 직접 사용하십시오.
5. 수정을 원할 경우 소스코드가 우선되어야 합니다
라이브러리 수정이 필요한 경우에는 패키지를 다운로드하는 것보다 소스코드를 복제하는 것이 더 편리합니다. --prefer-source를 사용하여 복제 소스 코드를 강제로 선택할 수 있습니다.
composer update symfony/yaml --prefer-source
다음으로 파일을 수정할 수 있습니다.
composer status -v You have changes in the following dependencies: /path/to/app/vendor/symfony/yaml/Symfony/Component/Yaml: M Dumper.php
수정된 라이브러리를 업데이트하려고 하면 Composer가 알림을 표시하고 수정 사항을 포기할지 묻습니다.
$ composer update Loading composer repositories with package information Updating dependencies - Updating symfony/symfony v2.2.0 (v2.2.0- => v2.2.0) The package has modified files: M Dumper.php Discard changes [y,n,v,s,?]?
프로덕션 환경을 준비하세요
마지막으로, 프로덕션 환경에 코드를 배포할 때 자동 로딩을 최적화하는 것을 잊지 마세요:
composer dump-autoload --optimize
패키지를 설치할 때 --optimize-autoloader를 사용할 수도 있습니다. 이 옵션이 없으면 성능이 20%~25% 손실될 수 있습니다.
더 많은 작곡가 관련 기술 기사를 보려면
composer칼럼을 방문하세요: https://www.php.cn/tool/composer/
위 내용은 PHP 개발자가 알아야 할 5가지 Composer 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

vprocesserazrabotkiveb-enclosed, мнепришлостольносться악 · 뇨 зейейерациигоглапи혁 맥발 추배. LeavallysumballancefriAblancefaumdoMatification, čtookazalovnetakprosto, Kakaožidal.posenesko

Symfony 기반 응용 프로그램을 개발할 때 까다로운 문제가 있습니다. JSON 데이터 형식을 효과적으로 검증하는 방법. 처음에는 수동 검증 코드를 사용해 보았지만 복잡 할뿐만 아니라 오류가 발생했습니다. 약간의 탐사 후, 나는 Ptyhard/Json-Schema-Bundle이라는 작곡가 패키지를 발견하여 프로젝트에 편의성과 효율성을 높였습니다.

전자 상거래 웹 사이트를 개발할 때 어려운 문제가 발생했습니다. 사용자에게 개인화 된 제품 권장 사항을 제공하는 방법. 처음에는 간단한 권장 알고리즘을 시도했지만 결과는 이상적이지 않았으며 사용자 만족도에도 영향을 미쳤습니다. 추천 시스템의 정확성과 효율성을 향상시키기 위해보다 전문적인 솔루션을 채택하기로 결정했습니다. 마지막으로 Composer를 통해 Andres-Montanez/Residations-Bundle을 설치하여 문제를 해결했을뿐만 아니라 추천 시스템의 성능을 크게 향상 시켰습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

전자 상거래 플랫폼을 개발할 때는 올바른 프레임 워크와 도구를 선택하는 것이 중요합니다. 최근에 기능이 풍부한 전자 상거래 웹 사이트를 구축하려고 할 때 어려운 문제가 발생했습니다. 확장 가능하고 완벽하게 기능적인 전자 상거래 플랫폼을 신속하게 구축하는 방법. 여러 솔루션을 시도하고 Fecmall의 고급 프로젝트 템플릿 (Fecmall/FBBCBase-App-Advanced)을 선택했습니다. 작곡가를 사용하면이 프로세스가 매우 간단하고 효율적입니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

많은 교리 단체와 함께 프로젝트를 수행 할 때 어려운 문제가있었습니다. 엔티티가 직렬화되고 사막화 될 때마다 성능이 매우 비효율적 이어져 시스템 응답 시간이 크게 증가합니다. 여러 최적화 방법을 시도했지만 잘 작동하지 않습니다. 다행스럽게도 Sidus/Doctrine-Serializer-Bundle을 사용 하여이 문제를 성공적으로 해결하여 프로젝트의 성능을 크게 향상 시켰습니다.

Laravel 프로젝트를 개발할 때 오류 로그 관리는 매우 중요한 링크입니다. 최근에 프로젝트에서 문제가 발생했습니다. 모든 유형의 오류를 효율적으로 캡처하고 기록하는 방법과 이러한 오류 메시지를 적시에 처리 할 수 있는지 확인하십시오. 연구 후 Lukeboy25/ErrorLogger 패키지를 발견했습니다. 작곡가를 통해 설치되며 오류 로그의 관리 프로세스를 크게 단순화 할 수 있습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

Laravel 애플리케이션을 개발할 때는 일반이지만 어려운 문제가 발생했습니다. 사용자 계정의 보안을 향상시키는 방법. 사이버 공격의 복잡성이 증가함에 따라 단일 암호 보호만으로는 사용자 데이터의 보안을 보장하기에 충분하지 않습니다. 몇 가지 방법을 시도했지만 결과는 만족스럽지 않았습니다. 마지막으로, 작곡가를 통해 Wiebenieuwenhuis/Laravel-2FA 라이브러리를 설치하고 응용 프로그램에 2 단계 인증 (2FA)을 성공적으로 추가하여 보안을 크게 향상 시켰습니다.

웹 사이트를 개발할 때 일반이지만 어려운 문제가 발생했습니다. 사용자 액세스 장치 유형을 정확하게 결정하는 방법과 파일의 다운로드 크기를 빠르게 얻는 방법. 이러한 기능은 간단 해 보일 수 있지만 구현시 많은 세부 사항과 호환성 문제를 처리해야합니다. 약간의 탐색 후, 나는 간단하고 효과적인 솔루션을 제공하는 작곡가 패키지 Weizhang/Utilities를 발견했습니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구
