개발 도구 composer 작곡가 자동 로딩의 4가지 방법 소개

작곡가 자동 로딩의 4가지 방법 소개

Sep 08, 2020 am 09:28 AM
composer

下面由composer教程栏目给大家介绍composer自动载入的四种方式 ,希望对需要的朋友有所帮助!

작곡가 자동 로딩의 4가지 방법 소개

composer自动载入的四种方式

composer 是PHP的包依赖管理工具,类似于node.js的npm 。并非官方,但已经十分流行。

对于第三方包的自动加载,composer 提供里四种支持。分别是psr-0,psr-4,生成class-map,直接包含files

psr-0 自动加载

psr-1 基本代码规范

psr-2 代码样式规范

psr-3 日志接口

psr-4 自动加载

psr-0 与 psr-4的主要区别是 psr-4中下划线不做任何处理。psr-0中下划线会转义为目录分隔符

在主文件 index.php中编写

require 'vendor/autoload.php';
로그인 후 복사

1.PSR-4

在composer.json中是这样配置的

{
  "aotuload":{
        "psr-4":{
            "FOO\\":"src/"
     }
  }
}
로그인 후 복사

当在index.php中new FOO\A\A 这个类时。composer会去查找src/A/A.php.如果这位文件存在,则进行加载

2.PSR-0

在composer.json中是这样配置的

{
  "aotuload":{
        "psr-0":{
            "FOO\\":"src/"
     }
  }
}
로그인 후 복사

当在index.php中new FOO\A\A 这个类时。composer会去查找src/FOO/A/A.php.如果这位文件存在,则进行加载

3.class-map

{
  "aotuload":{
       "class-map":['a/','b/','c/']
    }
}
로그인 후 복사

composer 会扫描abc 目录下以.php或.inc结尾的class.并生产新的文件映射关系,放到/vendor/composer/aotuload_classmap

4.files

{
   "aotuload":{
       "files":["src/my/function.php"]
 }
}
로그인 후 복사

手动指定供提供加载的文件。如全局的function文件

위 내용은 작곡가 자동 로딩의 4가지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 Apr 18, 2025 am 09:24 AM

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

작곡가로 Laravelcms를 신속하게 구축하는 방법 : MKI-LABS/ESPRESSO 실제 경험 작곡가로 Laravelcms를 신속하게 구축하는 방법 : MKI-LABS/ESPRESSO 실제 경험 Apr 18, 2025 am 07:36 AM

새로운 Laravel 프로젝트를 개발할 때 까다로운 문제를 겪었습니다. 완전히 기능적이고 관리하기 쉬운 컨텐츠 관리 시스템 (CMS)을 신속하게 구축하는 방법. 여러 솔루션을 시도했지만 복잡한 구성과 불편한 유지 관리로 인해 모두 포기했습니다. 설치가 간단 할뿐만 아니라 강력한 기능과 직관적 인 관리 인터페이스를 제공하는 Laravelcms 패키지 MKI-Labs/Espresso를 발견 할 때까지 내 문제를 완전히 해결했습니다.

Symfony/Console Library를 사용하여 효율적인 명령 줄 인터페이스 작성에 대한 실제 경험 Symfony/Console Library를 사용하여 효율적인 명령 줄 인터페이스 작성에 대한 실제 경험 Apr 18, 2025 am 07:30 AM

프로젝트 개발에서는 일상적인 작업을 단순화하거나 프로세스를 자동화하기 위해 명령 줄 도구를 작성해야합니다. 그러나 아름답고 테스트하기 쉬운 명령 줄 인터페이스를 만드는 것은 쉽지 않습니다. 최근에 저는 명령 줄 도구가 필요한 프로젝트를 개발 하면서이 문제를 겪었습니다. 약간의 탐색 후, 나는 Symfony/Console 라이브러리를 발견하여 명령 줄 인터페이스의 생성 프로세스를 크게 단순화합니다.

의존성 주입을 해결하기 위해 작곡가 사용 : PSR-11 컨테이너 인터페이스의 적용 의존성 주입을 해결하기 위해 작곡가 사용 : PSR-11 컨테이너 인터페이스의 적용 Apr 18, 2025 am 07:39 AM

대규모 PHP 프로젝트를 개발할 때 일반적이지만 까다로운 문제를 겪었습니다. 의존성을 효과적으로 관리하고 주입하는 방법. 처음에는 글로벌 변수와 수동 주입을 사용하려고 시도했지만 코드의 복잡성을 증가시킬뿐만 아니라 오류가 쉽게 이어졌습니다. 마지막으로 PSR-11 컨테이너 인터페이스와 작곡가의 전력을 사용 하여이 문제를 성공적으로 해결했습니다.

작곡가를 사용하여 YII 프레임 워크에서 데이터의 배치 처리 문제를 해결하는 방법 작곡가를 사용하여 YII 프레임 워크에서 데이터의 배치 처리 문제를 해결하는 방법 Apr 18, 2025 am 07:54 AM

YII 프레임 워크 프로젝트를 개발할 때는 종종 데이터베이스에서 많은 양의 데이터를 얻어야하는 상황을 만나게됩니다. 적절한 조치를 취하지 않으면 모든 데이터를 직접 얻으면 메모리 오버플로가 발생하고 프로그램 성능에 영향을 줄 수 있습니다. 최근에 대규모 전자 상거래 플랫폼에 대한 프로젝트를 다룰 때이 문제가 발생했습니다. 약간의 연구 및 시험 후, 나는 Pavle/YII-Batch-Result의 확장 라이브러리를 통해 문제를 해결했습니다.

작곡가를 사용하여 HTTP 요청 문제 : Yiche/HTTP 라이브러리에 대한 실용 가이드 작곡가를 사용하여 HTTP 요청 문제 : Yiche/HTTP 라이브러리에 대한 실용 가이드 Apr 18, 2025 am 08:06 AM

개발 중에 HTTP 요청이 종종 필요하며, 이는 데이터를 가져 오거나 데이터를 보내거나 외부 API와 상호 작용하는 것일 수 있습니다. 그러나 복잡한 네트워크 환경과 변경 요청 요구 사항에 직면 할 때 HTTP 요청을 효율적으로 처리하는 방법이 어려워집니다. 프로젝트에서 문제가 발생했습니다. 요청을 다른 API에 자주 보내야하고 후속 디버깅 및 분석을 용이하게하기 위해 요청을 기록해야합니다. 몇 가지 방법을 시도한 후 Yiche/HTTP 라이브러리를 발견했습니다. HTTP 요청의 처리를 단순화 할뿐만 아니라 동적 로깅 기능을 제공하여 개발 효율성을 크게 향상시킵니다.

Otrance Translation 플랫폼의 사용 및 대안 Otrance Translation 플랫폼의 사용 및 대안 Apr 18, 2025 am 08:45 AM

다국어 지원은 프로젝트 개발에 종종 필요하며 Otrance는 한때 매우 인기있는 솔루션이었습니다. 그러나 최근에 나는 Otrance 프로젝트가 더 이상 유지되고 업데이트되지 않는다는 것을 발견하여 프로젝트 요구를 충족시키기위한 새로운 대안을 찾아야했습니다. 다행히도 Composer는 대체 번역 플랫폼을 관리하고 설치하는 편리한 방법을 제공합니다.

Silverstripe 웹 사이트의 접근성 향상 : 비행 초점 모듈의 설치 및 사용 Silverstripe 웹 사이트의 접근성 향상 : 비행 초점 모듈의 설치 및 사용 Apr 18, 2025 am 08:09 AM

정부 웹 사이트 프로젝트를 개발할 때 어려운 문제가 발생했습니다. 특히 시각 장애가있는 사용자의 요구를 충족시키기 위해 웹 사이트의 접근성을 향상시키는 방법, 특히 시각 장애가있는 사용자, 웹 사이트 탐색 및 운영은 매우 어려울 수 있습니다. 여러 가지 방법을 시도한 후, 나는 웹 사이트의 접근성을 크게 향상시키는 FlyingFocus라는 JavaScript 라이브러리를 발견했습니다. 그러나 그것을 Silverstripe 웹 사이트에 통합하는 것은 어려운 일입니다. 다행스럽게도 DIANZ/Silverstripe-Flying-Focus 모듈을 발견하여 FlyingFocus의 통합 프로세스를 단순화하고 퍼즐을 해결했습니다.

See all articles