moonwalkingbits/wordpress-autoloader

WordPress 编码规范的类加载器。

0.1.1 2020-06-12 00:13 UTC

This package is auto-updated.

Last update: 2024-09-22 21:23:50 UTC


README

WordPress 编码标准的类加载器。WordPress 编码标准

在采用面向对象的 PHP 开发方法时,自动加载可以消除代码中的所有 include/require 语句。无需在类使用前手动包含文件,或检查类是否可用,只需直接使用它。如果尚未包含,则由类加载器自动包含。

您只需要包含一个类文件,即自动加载器。或者如果您将此库作为 composer 包使用,只需包含 composer 的 autoload.php 即可。设置完成后,它将负责其余的包含。

<?php

require_once '/path/to/class-autoloader.php';

$autoloader = new Moonwalking_Bits\Autoloader();

// Add as many namespace mappings as needed.
$autoloader->add_namespace_mapping( 'Namespace', '/path/to/classes' );

// Register the autoloader with the spl provided autoload queue.
spl_autoload_register( array( $autoloader, 'load_class' ) );

设置完成后,任何位于已注册命名空间目录中的 Namespace 命名空间下的类都可以直接使用,无需任何 include/require 语句。

嵌套命名空间

只要目录结构遵循命名空间路径,自动加载器将解析任何嵌套命名空间的类。

<?php

$autoloader->add_namespace_mapping( 'Namespace', '/path/to/classes' );
<?php // /path/to/classes/nested/class-test-class.php

namespace Namespace\Nested;

class Test_Class {}

根据上述示例,类 Namespace\Nested\Test_Class 将正确加载。

无命名空间类

要加载未使用任何命名空间的类,只需使用空命名空间注册映射。

<?php

$autoloader->add_namespace_mapping( '', '/path/to/classes' );

许可证

自动加载器在 GPL 许可证下发布。