composer는 PHP용 종속성 관리 도구입니다. 이를 통해 프로젝트가 의존하는 코드 라이브러리를 선언할 수 있으며 프로젝트에 해당 라이브러리가 설치됩니다.
그러나 초보자는 "설치" 방법을 모를 수도 있습니다.
인터넷에 있는 답변 중 일부는 작곡가 설치라고 하고 일부는 작곡가 업데이트라고 하는데 둘 다 성공적으로 종속 항목을 다운로드하고 설치할 수 있는 것 같습니다. 그렇다면 둘의 차이점은 무엇입니까?
관련 권장사항: "composer Tutorial"
가장 먼저 이해해야 할 것은 모든 종속성이 작곡가.json에 정의되어 있으며 몇 가지 기본 사용법과 예제가 매뉴얼에 제공된다는 것입니다. 버전 번호를 지정할 때 반드시 정확한 버전을 지정하지는 않는다는 점을 눈치채셨을 것입니다. 그런 다음 동일한 작곡가.json에 대해 서로 다른 시간에 가져오는 종속성 파일이 다를 수 있어(조건이 충족되면 작곡가가 최신 종속성을 가져오기 때문에) 일부 비정상적인 상황이 발생할 수 있습니다.
이 문제를 해결하기 위해 Composer 업데이트 및 Composer 설치가 나타났습니다.
작곡가 업데이트를 실행하면 작곡가는 작곡가.json에 지정된 종속성을 읽고 분석한 후 조건을 충족하는 최신 버전의 종속성을 가져옵니다. 그런 다음 가져온 종속성을 공급업체 디렉터리에 넣고 가져온 모든 종속성의 정확한 버전 번호를 작곡가.잠금 파일에 기록합니다.
작곡가 설치가 수행하는 작업은 매우 유사하며 유일한 차이점은 첫 번째 단계입니다. 로컬에 composer.lock의 복사본이 이미 있는 경우 Composer.json 대신에 Composer.lock을 읽고 이를 표준으로 사용하여 종속성을 다운로드합니다. 로컬에 Composer.lock이 없으면 실제로 수행하는 작업은 작곡가 업데이트와 다르지 않습니다.
즉, Composer.lock의 로컬 복사본이 있으면 시간이 얼마나 지났든 동일한 종속성을 끌어올 수 있다는 것을 보장할 수 있습니다. 그리고 이를 프로젝트의 버전 제어에 통합하면 시스템에 관계없이 프로젝트의 모든 사람과 모든 컴퓨터가 정확히 동일한 종속성을 가져와 배포에 대한 잠재적인 영향을 줄일 수 있습니다. 물론, 사용해야 할 명령은 Composer install이라는 점을 기억하시기 바랍니다.
그렇다면 작곡가 업데이트는 언제 사용해야 할까요? 의존성을 수정할 때, 새로운 의존성을 추가하든, 의존성 버전을 수정하든, 의존성을 삭제하든, 이때 Composer install을 실행하면 아무런 변화가 없지만, 경고 메시지가 뜹니다
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.
Some 사람들은 내가 종속성을 수정했거나 작곡가.잠금이 만료되었다는 것을 PHP가 어떻게 아는지 궁금해할 것입니다. 매우 간단합니다. Composer.lock을 열면 그 안에 해당 종속성의 해시 값인 해시 필드가 있습니다. 값이 일치하지 않으면 자연스럽게 변화가 일어났다는 것을 알게 될 것입니다.
이때 작곡가 업데이트를 통해 종속성을 업데이트해야 합니다.
설치된 다른 종속성에 영향을 주지 않고 수정한 부분만 업데이트하려는 경우 화이트리스트를 지정하여 업데이트 범위를 결정할 수 있습니다. 예를 들어 작곡가 업데이트 모노로그/모노로그는 종속성 모노로그/몬로그만 업데이트합니다. . 기타 종속성은 업데이트되더라도 무시됩니다.
위 내용은 작성기 명령 소개: 설치, 업데이트 및 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Symfony 프로젝트를 개발할 때 데이터 테이블을 효율적으로 제시하고 관리하는 방법은 항상 어려운 일이었습니다. 최근에 프로젝트에서 문제가 발생했습니다. 사용자 데이터를 제시하기 위해 정렬 가능한 여과 가능한 데이터 테이블을 신속하게 만들어야합니다. 여러 가지 방법을 시도했지만 라이브러리 PFILSX/DATA-GRID-BUNDLE을 발견 할 때까지 결과는 이상적이지 않았습니다.

컨텐츠 관리 시스템을 개발할 때는 사용자 정의 Markdown 형식 텍스트를 효과적으로 구문 분석하고 처리하는 방법에 도전했습니다. 나는 기존의 마크 다운 파서를 많이 시도했지만 아무도 내 필요를 완전히 충족시키는 사람이 없습니다. 마지막으로, 라이브러리 Hiyokko2/hiyokko2_text_parser를 발견했습니다. 이는 내 요구를 충족시킬뿐만 아니라 워크 플로를 크게 단순화합니다.

마이크로 서비스 아키텍처의 프로젝트를 다룰 때 로그 관리는 어려운 문제가됩니다. 개발 과정에서 우리 팀은 서로 다른 마이크로 서비스 간 통합 관리 및 로그 추적이 매우 복잡해져 디버깅 및 유지 보수가 매우 어려워 졌다는 것을 발견했습니다. 여러 가지 방법을 시도한 후 MKRUTIKOV/MICROSERVICE_LOGGIGING 라이브러리를 사용하여 효율적인 솔루션을 제공하기로 결정했습니다.

CRAFTCMS를 사용하여 웹 사이트를 개발할 때 특히 CSS 및 JavaScript 파일을 자주 업데이트 할 때 자주 리소스 파일 캐싱 문제가 발생하면 이전 버전의 파일이 여전히 브라우저에서 캐싱 될 수 있으므로 사용자는 최신 변경 사항을 볼 수 없습니다. 이 문제는 사용자 경험에 영향을 줄뿐만 아니라 개발 및 디버깅의 어려움을 증가시킵니다. 최근에 나는 프로젝트에서 비슷한 문제를 겪었고, 약간의 탐색 후 플러그인 Wiejeben/Craft-Laravel-Mix를 발견하여 캐싱 문제를 완벽하게 해결했습니다.

은행 조정 파일을 다룰 때 까다로운 문제가 발생했습니다. 은행 거래에 대한 세부 정보가 포함 된 CNAB 형식의 파일을 구문 분석하고 생성해야했습니다. 처음에는 구문 분석 및 코드를 수동으로 작성하려고했지만 프로세스가 매우 복잡하고 오류가 발생했습니다. 다행히도 Jrodella/CNAB-Layouts-Parser 라이브러리를 발견 하여이 작업을 크게 단순화합니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

사용자 등록을 개발하고 시스템에 로그인 할 때 일반적이지만 어려운 문제가 발생했습니다. 로봇이 자동으로 등록 및 로그인하는 것을 효과적으로 방지하는 방법은 여러 검증 방법을 시도했지만 LSMVERIFY/LSMVERIFY 의이 강력한 PHP 검증 코드 라이브러리를 발견 할 때까지는 잘 작동하지 않았습니다. 작곡가를 사용 하여이 라이브러리를 설치하고 구성함으로써 프로젝트에서 효율적인 검증 코드 기능을 성공적으로 구현하여 시스템의 보안을 크게 향상 시켰습니다.

RabbitMQ 메시지 대기열을 효율적으로 처리 해야하는 프로젝트를 처리 할 때 어려운 문제가 있습니다. 이 프로젝트는 메시지를 큐에서 소비하고 처리 후 다른 데이터 소스에 저장해야합니다. 메시지 큐의 복잡한 메시지와 번거로운 처리 로직으로 인해 효율적이고 유연한 솔루션을 찾아야했습니다. 약간의 탐색 후, 나는 라이브러리 mysic/phpamqplib-consumer를 발견하여 이러한 문제를 쉽게 해결할 수있었습니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

복잡한 PHP 프로젝트를 다룰 때는 종종 다양한 종속성 관리 및 환경 구성 문제가 발생합니다. 최근에 나는 OpenPoliceComplaints 프로젝트를 설치하려고하는 동안 비슷한 문제가있었습니다. DockerCompose로 구성하려는 초기 시도는 실패했지만 작곡가와 Docker를 결합함으로써 마침내 더 간단하고 효율적인 솔루션을 찾았습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
