検索
ホームページ開発ツールcomposerComposerシリーズのオートロードの詳細説明

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

Composerシリーズのオートロードの詳細説明

简介

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 的依赖管理标杆,多利用这个工具为自己的开发带来方便。

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

以上がComposerシリーズのオートロードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
作曲家資格情報:誰かが作曲家になっているのはなぜですか?作曲家資格情報:誰かが作曲家になっているのはなぜですか?Apr 14, 2025 am 12:13 AM

作曲家になることの重要な要素には次のものがあります。1。音楽理論の習得、2。創造的でオリジナルであること、3。技術的なスキルを持っている、4。感情を表現し、物語を語ることができる。5。文化的および歴史的背景を理解する、6。

作曲家になるための道:実用的なガイド作曲家になるための道:実用的なガイドApr 13, 2025 am 12:11 AM

作曲家になるための手順には次のものがあります。1。ノート、リズム、ハーモニー、メロディーなどの音楽の基本的な要素をマスターします。 2。abletonliveなどの適切な技術ツールを選択します。 3.インスピレーションの獲得、概念、執筆、修正、改善など、作曲のプロセスを理解する。 4.シンプルなメロディーの作成から始めて、ハーモニーなどの複雑なテクニックを徐々に試します。 5.ノート選択やリズム配置などのデバッグ技術を通じて一般的な問題を解決します。 6.テンプレートの使用、バージョン制御、コラボレーションなど、パフォーマンスの最適化とベストプラクティスを適用します。

作曲家:堅牢なPHPアプリケーションを構築するための鍵作曲家:堅牢なPHPアプリケーションを構築するための鍵Apr 12, 2025 am 12:05 AM

Composerは、依存関係管理を簡素化し、開発効率とコードの品質を向上させるため、堅牢なPHPアプリケーションを構築するための重要なツールです。 1)Composerは、Composer.jsonファイルを介してプロジェクトの依存関係を定義し、これらの依存関係を自動的にダウンロードおよび管理します。 2)composer.lockファイルを生成して、依存関係バージョンが一貫しており、ベンダー/autoload.phpを介して自動的に読み込まれていることを確認します。 3)使用の例には、ログライブラリの追加などの基本的な使用法や、バージョンの制約や環境変数管理などの高度な使用法が含まれます。 4)一般的なエラーデバッグ手法には、依存関係の競合とネットワークの問題の処理が含まれます。 5)パフォーマンス最適化の提案には、Composer.Lockファイルの使用と自動負荷の最適化が含まれます。

作曲家の専門知識:誰かを熟練させるもの作曲家の専門知識:誰かを熟練させるものApr 11, 2025 pm 12:41 PM

作曲家を使用するときに熟練するには、次のスキルをマスターする必要があります。1。composer.jsonとcomposer.lockファイルを使用するのに熟練している必要があります。2。作曲家の仕組み、3。マスターコンポーザーのコマンドラインツール、4。基本的および高度な使用法を理解します。

作曲家は何をしていますか?作曲家は何をしていますか?Apr 08, 2025 am 12:19 AM

Composerは、PHPの依存関係管理ツールであり、プロジェクトの依存関係を宣言、ダウンロード、管理するために使用されます。 1)Composer.jsonファイルを介して依存関係を宣言します。2)ComposerInstallコマンドを使用して依存関係をインストールし、3)依存関係ツリーを解析し、Packagistからダウンロードします。4)Autoload.phpファイルを生成して自動荷重を簡素化します。

App Composerとは何ですか?App Composerとは何ですか?Apr 07, 2025 am 12:07 AM

AppComposerは、アプリケーションを構築および管理するためのツールです。 1)事前定義されたコンポーネントをドラッグして構成することにより、アプリケーションの開発を簡素化し、効率を向上させます。 2)開発者は、コンポーネントを定義し、インターフェイスを組み合わせ、ビジネスロジックを定義し、最終的にアプリケーションをレンダリングできます。 3)タスク管理や条件付きレンダリングなど、基本的および高度な使用法をサポートし、柔軟なアプリケーションの構築に役立ちます。

作曲家は何に使用されていますか?作曲家は何に使用されていますか?Apr 06, 2025 am 12:02 AM

作曲家は、PHPの依存関係管理ツールです。 Composerを使用するコアステップは次のとおりです。1)「Stripe/Stripe-PHP」などのComposer.jsonの依存関係を宣言:「^7.0」; 2)ComposerInStallを実行して、依存関係をダウンロードおよび構成します。 3)Composer.LockおよびAutoload.phpを介してバージョンとオートロードを管理します。 Composerは依存関係管理を簡素化し、プロジェクトの効率と保守性を向上させます。

作曲家AIとは何ですか?作曲家AIとは何ですか?Apr 05, 2025 am 12:13 AM

Composeraiは、開発効率と品質を改善するためにコードを生成および最適化するための人工知能ベースのツールです。その機能には次のものが含まれます。1。コード生成:要件に応じて標準を満たすコードスニペットを生成します。 2。コード最適化:既存のコードを分析することにより、最適化の提案を行います。 3。自動テスト:テストケースを生成して、コードの品質を確保します。

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ヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境