moonwalkingbits / wordpress-autoloader
WordPress 编码规范的类加载器。
0.1.1
2020-06-12 00:13 UTC
Requires
- php: >=7.4
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ~0.6
- phan/phan: ~3.0
- phpmd/phpmd: ~2.8
- phpunit/phpunit: ~9.2
- squizlabs/php_codesniffer: ~3.5
- wp-coding-standards/wpcs: ~2.3
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 许可证下发布。