spl_autoload_extensions
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
spl_autoload_extensions — 注册并返回 spl_autoload 的默认文件扩展名
返回值
逗号分隔的 spl_autoload() 的默认文件扩展名。
更新日志
版本 | 说明 |
---|---|
8.0.0 |
file_extensions 现在可以为 null。
|
示例
示例 #1 spl_autoload_extensions() 示例
<?php
spl_autoload_extensions(".php,.inc");
?>
+添加备注
用户贡献的备注 2 notes
dantedantas at gmail dot com ¶
7 years ago
The order of the extensions influence the velocity of the reply. For example:
spl_autoload_extensions(".php, .inc");
is more fast than:
spl_autoload_extensions(".inc, .php");
Check out this example:
Some class files:
ClassA.php
<?php class ClassA { var $val = 'Hello from class "ClassA"'; } ?>
ClassB.php
<?php class ClassB { var $val = 'Hello from class "ClassB"'; } ?>
ClassC.php
<?php class ClassC { var $val = 'Hello from class "ClassC"'; } ?>
ClassD.php
<?php class ClassD { var $val = 'Hello from class "ClassD"'; } ?>
ClassE.php
<?php class ClassE { var $val = 'Hello from class "ClassE"'; } ?>
1. Simple:
<?php
// default priority: .inc .php
for($n=65; $n<70; $n++) {
$className = 'Class'.chr($n);
spl_autoload($className);
$ins = new $className;
echo $ins->val.'<br>';
}
// 4.2 miliseconds
?>
2. Change priority:
<?php
spl_autoload_extensions('.php,.inc');
// new priority: .php .inc
for($n=65; $n<70; $n++) {
$className = 'Class'.chr($n);
spl_autoload($className);
$ins = new $className;
echo $ins->val.'<br>';
}
// 1.4 miliseconds
?>
pim dot stoit at gmail dot com ¶
8 years ago
Extensions doesn't have to start with a dot, spl_autload() will simply append whatever you supply to the basename. The following example will try to load "test.php" first, and "test/index.php" as well:
spl_autoload_register('.php,/index.php');
spl_autoload('Test');
备份地址:http://www.lvesu.com/blog/php/function.spl-autoload-extensions.php