czachor / psr4-autoloader
基于 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md 的 PSR-4 自动加载器
dev-master
2017-02-22 22:16 UTC
This package is auto-updated.
Last update: 2024-09-18 00:36:02 UTC
README
规范: http://www.php-fig.org/psr/psr-4/
基于: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md
与原始文件相比的变化
- 移除 "类" 后缀
- 小的代码更改和清理
这是一个通用实现示例,包括允许单个命名空间前缀具有多个基本目录的可选功能。
给定以下路径文件系统中的 foo-bar 包类...
/path/to/packages/foo-bar/
src/
Baz.php # Foo\Bar\Baz
Qux/
Quux.php # Foo\Bar\Qux\Quux
tests/
BazTest.php # Foo\Bar\BazTest
Qux/
QuuxTest.php # Foo\Bar\Qux\QuuxTest
...按照以下方式添加 \Foo\Bar\ 命名空间前缀的类文件路径
<?php
// instantiate the loader
$loader = new \Czachor\Psr4Autoloader;
// register the autoloader
$loader->register();
// register the base directories for the namespace prefix
$loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/src');
$loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/tests');
以下行会导致自动加载器尝试从 /path/to/packages/foo-bar/src/Qux/Quux.php 加载 \Foo\Bar\Qux\Quux 类
<?php
new \Foo\Bar\Qux\Quux;
以下行会导致自动加载器尝试从 /path/to/packages/foo-bar/tests/Qux/QuuxTest.php 加载 \Foo\Bar\Qux\QuuxTest 类
<?php
new \Foo\Bar\Qux\QuuxTest;
安装
$ composer require czachor/psr4-autoloader
待办事项
- 测试。