찾다
백엔드 개발PHP 튜토리얼PHPer가 알아야 할 5가지 작성기 팁_php 팁

Composer는 차세대 PHP 종속성 관리 도구입니다. 소개 및 기본 사용법에 대해서는 "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.

젠장, 무슨 일이 있었던 걸까요? 당황하지 말 것! 작곡가.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는 라이브러리를 업데이트하지 않지만, Composer.lock은 업데이트됩니다. 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/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% 손실될 수 있습니다.

도움이 필요하거나 특정 명령의 세부정보를 알고 싶다면 공식 문서를 읽거나 JoliCode에서 만든 이 대화형 치트 시트를 확인하세요.

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

Composer是PHP的依赖管理工具,它允许开发者将第三方库和框架与自己的项目进行集成。它的主要功能包括:1、依赖管理;2、版本控制;3、自动加载;4、扩展开发;5、集成其他工具。它简化了PHP项目的依赖管理过程,确保项目的稳定性和可维护性。通过使用Composer,开发者可以更加高效地管理自己的项目和集成第三方库和框架。

四大步教你在Debian11上安装使用Composer!四大步教你在Debian11上安装使用Composer!Nov 08, 2022 pm 04:32 PM

本文由composer​教程栏目给大家介绍关于在Debian11上是怎么一步步安装,以及使用Composer的 ,非常详细哦~希望对需要的朋友有所帮助!

composer 怎么修改php路径composer 怎么修改php路径Oct 24, 2022 am 11:33 AM

composer修改php路径的方法:1、搜索“composer.bat”并复制到项目文件夹;2、编辑“composer.bat”,将内容修改为“@ECHO OFF php "%~dp0composer.phar" %*”即可。

PHP使用Composer安装和管理依赖包PHP使用Composer安装和管理依赖包Jun 18, 2023 pm 03:30 PM

在PHP开发中,我们经常要处理各种依赖包,这些依赖包可能是其他开发者编写的PHP库文件,也可能是一些第三方工具和框架。为了方便管理这些依赖包,我们可以使用Composer来进行相关的安装和管理工作。Composer是一个开源的PHP依赖管理工具,它可以帮助我们自动化安装、更新和卸载PHP依赖包。通过Composer,我们可以轻松地管理我们应用中的不同依赖,同

使用Composer和PHP包管理器的最佳实践使用Composer和PHP包管理器的最佳实践May 23, 2023 am 08:29 AM

随着PHP的日益流行,PHP开发人员面临着许多挑战,其中包括代码管理、可重用性和依赖性管理。这些问题可以使用包管理器来解决,而Composer是PHP最受欢迎的包管理器之一。在本文中,我们将探讨使用Composer和PHP包管理器的最佳实践,从而提高您的PHP开发效率和代码质量。何为Composer?Composer是一款PHP包管理器,它可以轻松管理PHP

创建composer项目的步骤创建composer项目的步骤Feb 19, 2024 pm 07:13 PM

Composer是一个PHP的依赖管理工具,可以帮助开发者有效地管理项目中的依赖关系。通过Composer,我们可以轻松地引入第三方库、框架以及其他项目所需的各种资源。创建一个Composer项目非常简单,只需按照以下步骤进行操作:首先需要确保在本地已经安装了Composer。可以在终端中运行composer-v命令来确认是否已经安装成功。在项目的根目录中

如何在composer上安装和使用如何在composer上安装和使用Feb 19, 2024 pm 09:38 PM

composer是PHP的依赖管理工具,可以方便地安装、更新和管理项目所需的第三方库和依赖。本文将介绍composer的安装与使用,并提供详细的代码示例。一、安装Composer要使用composer,首先需要将其安装到本地开发环境中。以下演示了在Windows系统中安装composer的步骤:打开Composer的官方网站(https://getcompo

composer动画怎么保存composer动画怎么保存Apr 09, 2024 pm 02:02 PM

要保存 Composer 动画,可以使用 Lottie 文件格式,具体步骤为:导出为 JSON 文件;使用 Lottie 工具创建 Lottie 文件;从 Lottie 文件导出为多种格式,包括 JSON、GIF、MP4、SWF、HTML。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SecList

SecList

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