我们都知道Composer是现代PHP框架(Yii2、Laravel...)的基石,有了Composer后我们开发是一件多么的爽的事情。那么Composer加载方式你知道多少呢?下面由composer使用教程栏目给大家介绍你不知道的composer加载方式。
本文仅仅关注Composer的自动加载。
我们以Yii2为例,当我们通过Composer生成了一个Yii2程序后,会在vendor下建立一个autoload.php文件,它负责帮我们自动加载vendor内的各种库(yii2核心库也在vendor内,你懂得!)。
而你一定知道Yii2的入口文件index.php有一行。
require(__DIR__ . '/../vendor/autoload.php');
由此可见,Yii2对Composer的友好程度,也难怪~孤木不成林,Yii2也要靠无数个Composer扩展枝干才能变成参天大树。
下面开始正式讲解Composer的autoload,告诉你各式各样扩展安装后,我们并没有使用include / require,那么Composer是如何帮我们找到他们的那?
目前为止,Composer一共支持4种自动加载方式
PSR-0 PSR-4 class-map 直接包含file
这四种方式足以让Composer涵盖地球上所有的PHP第三方扩展库。
PSR是一套PHP开发标准,现在大多数主流框架都在支持,工兵连已经开专题分享PSR干货。
PSR-4
PSR-4是Composer推荐使用的一种方式,因为它更易使用并能带来更简洁的目录结构。在一个扩展的composer.json里是这样进行配置的:
{ "autoload": { "psr-4": { "Foo\\": "src/", } } }
key和value就定义出了namespace以及其对应的目录映射。按照PSR-4的规则,当试图自动加载"Foo\Bar\Baz"类的使用,会去寻找"srcBarBaz.php"这个文件,如果它存在则加载,要注意的是此时"Foo\"并不会出现在文件路径中。
而composer.json这样的配置会被Composer转换成namespace与文件目录的MAP形式,并存在vendor/composer/autoload_psr4.php文件中,所以如果你安装的某个扩展自动加载是PSR-4形式,你可以在autoload_psr4.php找到它的真实路径。
PSR-0
这是一个已经过时的标准,那是在遥远的PHP5.2时代,你我都知道,PHP5.3之后才有了类似namespace这样的高级属性,所以PSR-0更多是考虑
有点蒙圈么?那我们来看代码你就明白了。
{ "autoload": { "psr-0": { "Foo\\": "src/", } } }
我们来分析这个扩展的加载方式,什么是伪namespace那?当我们用这个库的时候
$model = new Foo_Bar_Baz();
对的,PSR-0的时代,有很多以下划线分隔的类名,它代表。。。它代表。。。
src/Foo/Bar/Baz.php
聪明的你一定明白什么是伪namespace了吧,通过命名的下划线来映射目录结构。
哎,那个时代的标准制定者们也真心不容易呀。
Class-map方式
{ "autoload": { "classmap": ["src/", "lib/"] } }
这个加载方式比较容易理解,当Composer开始安装扩展的时候,会根据composer.json里的这个 autoload 告诉的方式classmap,来遍历src、lib目录然后将里面的类文件和其路径一一对应,存放到vendor/composer/autoload_classmap.php内。
例如src/下有一个BaseController类,那么在autoload_classmap.php文件中,就会生成这样的配置:
'BaseController' => $baseDir . '/src/BaseController.php'
若你还不懂,去看看autoload_classmap.php吧。
File方式
有了上面这些加载方式还不够么? 是的,还会有一些供全局使用的比如帮助等这样函数,那么好吧,我们就讲这些文件直接包含进来好了。
{ "autoload": { "files": ["src/MyLibrary/functions.php"] } }
Composer安装扩展后会将其放到
vendor/composer/autoload_files.php
到此刻,世界清静了,Composer可以加载我大PHP世界的各种库,只要你想,就可以自动加载。
위 내용은 모르는 Composer를 로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성공적인 작곡가가 되려면 음악 이론, 악기 공연 및 사운드 디자인과 같은 기술뿐만 아니라 캡처 및 지속적인 작업 수정에 대한 열렬한 영감이 필요합니다. 작곡가들은 이러한 기술과 특성을 사용하여 감정과 생각을 음악 작품으로 변화시켜 청취자와 공명합니다.

작곡가 숙련도는 다음 4 가지 측면에서 평가 될 수 있습니다. 1) 패키지, 종속성 및 버전 제어와 같은 기본 개념을 이해합니다. 2) Parsing Composer.json, 종속성 해결, 패키지 다운로드 및 자동로드 파일 생성을 포함한 마스터 코어 기능; 3) ComposerInstall, 업데이트, 요구 및 덤프 아우토로드와 같은 기본 및 고급 명령을 사용하는 데 능숙합니다. 4) Composer.Lock 파일 사용, 자동로드 구성 최적화 및 정기적으로 캐시를 정기적으로 청소하는 등 모범 사례를 적용하십시오.

작곡가를 사용하여 AI를 결합하여 자동화 된 작업을 달성하십시오. 1. Composer는 구성 파일을 통해 종속성을 관리하고 AI는 버전 선택을 최적화 할 수 있습니다. 2. 실제 응용 분야에서 AI는 종속성 관리, 테스트 및 배포를 자동화하는 데 사용할 수 있습니다. 3. 성능 최적화에는 의존성 로딩 및 캐싱 전략이 포함됩니다. 4. 버전 충돌 및 AI 잘못 판단과 같은 문제에주의하십시오. 이러한 방법을 통해 AI는 업무 효율성과 지능을 향상시킬 수 있습니다.

ComposerWithai는 AI를 사용하여 프로그래밍 경험을 향상시키는 도구입니다. 1) 코드 구조, 구문 및 패턴을 분석하여 실시간 제안 및 버그 수정을 제공합니다. 2) 고급 기능에는 코드 리팩토링, 성능 최적화 및 보안 검사가 포함됩니다. 3) 사용시 구성을 조정하고 피드백을 제공하며 다른 도구를 결합하여 일반적인 문제를 해결할 수 있습니다.

Composer는 PHP의 종속성 관리 도구로 프로젝트에 필요한 라이브러리 및 패키지를 관리하는 데 사용됩니다. 1) Composer.json 파일을 통한 종속성을 정의합니다. 2) 명령 줄 도구를 사용하여 설치 및 업데이트, 3) 종속성 관리 프로세스 자동화, 개발 효율성 향상, 4) 동적으로 종속성 추가 및 자동로드와 같은 고급 기능을 지원합니다. 5) Composer.lock 파일을 통한 팀 환경의 일관성을 보장합니다.

Composer는 PHP의 종속성 관리 도구이며 Composer.json 및 Composer.lock 파일을 통해 프로젝트 종속성을 관리합니다. 1. Composer.json 파일을 생성하고 ComposerInstall 설치 종속성을 실행하십시오. 2. ComposerRequire를 사용하여 새로운 종속성을 추가하십시오. 3. 자동로드를 구현하도록 자동로드를 구성하십시오. 4. ComposerDiagnose를 사용하여 프로젝트의 건강 상태를 확인하십시오. 5. 종속성 관리 최적화 : 패키지 이름 업데이트를 지정하고, ComposerDump-Autoload-O를 사용하여 자동 로더를 최적화하고, ComposerInstall 사용-생산 환경에서 NO-D

AI와 작곡가의 조합은 PHP 개발 효율성과 보안을 향상시킬 수 있습니다. 특별히 반영 : 1. 종속성 분석 및 최적화 : AI는 종속성을 예측하고 충돌을 줄일 수 있습니다. 2. 자동 보안 점검 : AI는 보안 취약점을 식별 할 수 있으며이를 업데이트하는 것이 좋습니다. 3. 코드 생성 및 최적화 : AI는 관련 코드를 자동으로 생성하고 최적화 할 수 있습니다.

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


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

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

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

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
