cari
Rumahalat pembangunancomposerComposer 系列之 autoload 详解

Composer 系列之 autoload 详解

Aug 21, 2019 pm 02:20 PM
composer

下面由composer使用教程栏目为大家讲解Composer系列之autoload文件,希望对需要的朋友有所帮助!

Composer 系列之 autoload 详解

简介

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

对于类库的自动加载,Composer 生成了一个 vendor/autoload.php 文件。引入这个文件,就能得到一个免费的自动加载支持,这种感觉真是棒极了~

本文主要是介绍如何利用 Composer 自带的自动加载机制,加载本地自定义的包(即不是来自于 packagist)。

使用

在 composer.json 文件中的 autoload 字段中添加自己的 autoloader。

目前 Composer 支持四种自动加载映射的方式:

PSR-0 autoloading
PSR-4 autoloading
classmap generation
files

下面只介绍 PSR-4,为什么?因为它足够方便好用(当你添加类时不需要重新生成 autoloader)。详细请查看 自动加载 - 参考

PSR-4(推荐)

{
    "autoload": {
        "psr-4": {
            "First\\": "src/",
            "Temp\\": "lib/"
        }
    }
}

上面的代码采用 PSR-4 规范,该规范包含了 PHP 最新的自动加载标准,它要求必须使用 namespace (命名空间)的方式。

First\\ 表示命名空间,必须以 \\ 结尾,避免相似的命名空间导致冲突,若包含子命名空间,可以这样表示:First\\Second\\。

src/ 表示命名空间所在目录为与 Composer 的 vendor 目录同级的 src 目录,如下所示:

First/
|---examples/
    |---get.php
|---src/
    |---Curl.php
|---vendor/
    |---composer/
    |---autoload.php
|---composer.json

如果需要在多个目录下搜索相同的命名前缀,可以用一个数组提供:

{
    "autoload": {
        "psr-4": {"First\\": ["src/", "lib/"]}
    }
}

修改完 composer.json 的 autoload 字段后需要更新一下 Composer 的自动加载类:

composer dumpautoload -o

对应 Curl.php 的命名空间如下表示:

<?php
namespace First;
class Curl
{
}

引用 Curl.php 的方式如下:

<?php
require &#39;../vendor/autoload.php&#39;;
use First\Curl;
$curl = new Curl();
...
...

小结

之前一直以为 namespace 是 PHP 内置好的,只需要在某个类上声明一下某个命名空间,在调用这个类的地方 use 一下就好。。。

直到前几天脱离框架,单独写了几个类,然后被 xxx class not found 错误折磨到怀疑人生,才明白需要有个 autoloader 才行。

题外话

现在 Composer 已经成为 PHP 的依赖管理标杆,多利用这个工具为自己的开发带来方便。

框架能大大减少开发成本,但有时候不利于个人技术的提升。在使用热门框架时,多看看框架的代码,不仅帮助自己理解掌握框架,也能带来许多编程思想和技术上的提高。

Atas ialah kandungan terperinci Composer 系列之 autoload 详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:learnku. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Jalan untuk menjadi komposer: panduan praktikalJalan untuk menjadi komposer: panduan praktikalApr 13, 2025 am 12:11 AM

Langkah -langkah untuk menjadi komposer termasuk: 1. Menguasai unsur -unsur asas muzik, seperti nota, irama, keharmonian, dan melodi; 2. Pilih alat teknikal yang sesuai, seperti AbletonLive; 3. Memahami proses penyusunan, termasuk pengambilalihan inspirasi, konsepsi, penulisan, pengubahsuaian dan penambahbaikan; 4. Mulailah dengan penciptaan melodi yang mudah dan secara beransur -ansur mencuba teknik kompleks seperti keharmonian; 5. menyelesaikan masalah biasa melalui teknik debugging, seperti pemilihan nota dan susunan irama; 6. Memohon pengoptimuman prestasi dan amalan terbaik, seperti menggunakan templat, kawalan versi, dan kerjasama.

Komposer: Kunci untuk membina aplikasi PHP yang mantapKomposer: Kunci untuk membina aplikasi PHP yang mantapApr 12, 2025 am 12:05 AM

Komposer adalah alat utama untuk membina aplikasi PHP yang mantap kerana ia memudahkan pengurusan pergantungan, meningkatkan kecekapan pembangunan dan kualiti kod. 1) Komposer mentakrifkan kebergantungan projek melalui fail komposer.json dan memuat turun secara automatik dan menguruskan kebergantungan ini. 2) Ia menghasilkan fail komposer.lock untuk memastikan bahawa versi ketergantungan konsisten dan dimuat secara automatik melalui vendor/autoload.php. 3) Contoh penggunaan termasuk penggunaan asas seperti menambah perpustakaan log, serta penggunaan lanjutan seperti kekangan versi dan pengurusan pembolehubah persekitaran. 4) Teknik debugging kesilapan biasa termasuk pengendalian konflik ketergantungan dan masalah rangkaian. 5) Cadangan Pengoptimuman Prestasi termasuk menggunakan fail komposer.lock dan mengoptimumkan pemuatan automatik.

Kepakaran Komposer: Apa yang menjadikan seseorang mahirKepakaran Komposer: Apa yang menjadikan seseorang mahirApr 11, 2025 pm 12:41 PM

Untuk menjadi mahir apabila menggunakan komposer, anda perlu menguasai kemahiran berikut: 1. Berfungsi dalam menggunakan komposer.json dan komposer.lock fail, 2.

Apa yang dilakukan oleh komposer?Apa yang dilakukan oleh komposer?Apr 08, 2025 am 12:19 AM

Komposer adalah alat pengurusan ketergantungan untuk PHP, yang digunakan untuk mengisytiharkan, memuat turun dan mengurus kebergantungan projek. 1) Mengisytiharkan kebergantungan melalui fail composer.json, 2) Pasang kebergantungan menggunakan perintah komposerinstall, 3) menghuraikan pokok pergantungan dan memuat turunnya dari pembungkus, 4) menghasilkan fail autoload.php untuk memudahkan pemuatan automatik, 5) Mengoptimumkan penggunaan termasuk menggunakan composerupdate-prefer-dist dan penyesuaian autoload.

Apakah komposer aplikasi?Apakah komposer aplikasi?Apr 07, 2025 am 12:07 AM

AppComposer adalah alat untuk membina dan menguruskan aplikasi. 1) Ia memudahkan pembangunan aplikasi dan meningkatkan kecekapan dengan menyeret dan mengkonfigurasi komponen yang telah ditetapkan. 2) Pemaju boleh menentukan komponen, menggabungkan antara muka, menentukan logik perniagaan, dan akhirnya menjadikan permohonan itu. 3) Menyokong penggunaan asas dan maju, seperti pengurusan tugas dan rendering bersyarat, membantu membina aplikasi yang fleksibel.

Untuk apa komposer digunakan?Untuk apa komposer digunakan?Apr 06, 2025 am 12:02 AM

Komposer adalah alat pengurusan ketergantungan untuk PHP. Langkah-langkah teras menggunakan komposer termasuk: 1) mengisytiharkan kebergantungan dalam komposer.json, seperti "jalur/jalur-php": "^7.0"; 2) Jalankan ComposerInstall untuk memuat turun dan mengkonfigurasi kebergantungan; 3) Menguruskan versi dan autoload melalui komposer.lock dan autoload.php. Komposer memudahkan pengurusan pergantungan dan meningkatkan kecekapan projek dan penyelenggaraan.

Apa itu komposer ai?Apa itu komposer ai?Apr 05, 2025 am 12:13 AM

Composerai adalah alat berasaskan kecerdasan buatan untuk menjana dan mengoptimumkan kod untuk meningkatkan kecekapan dan kualiti pembangunan. Fungsinya termasuk: 1. Generasi Kod: Menjana coretan kod yang memenuhi piawaian mengikut keperluan. 2. Pengoptimuman Kod: Dengan menganalisis kod sedia ada, buat cadangan pengoptimuman. 3. Ujian Automatik: Menjana kes ujian untuk memastikan kualiti kod.

Apakah komposer di Android?Apakah komposer di Android?Apr 04, 2025 am 12:18 AM

Komposer adalah sebahagian daripada perkhidmatan SurfaceFlinger di Android, dan bertanggungjawab untuk mensintesis pelbagai lapisan grafik ke penampan paparan akhir. 1) Kumpulkan lapisan grafik, 2) Susun lapisan grafik, 3) mensintesis lapisan grafik, 4) output ke peranti paparan untuk meningkatkan prestasi aplikasi dan pengalaman pengguna.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual