spl_autoload_extensions

(PHP 5 >= 5.1.2)

spl_autoload_extensions Регистрация и вывод расширений файлов для spl_autoload

Описание

string spl_autoload_extensions ([ string $file_extensions ] )

Эта функция может задавать расширения файлов, в которых callback-фунция __autoload() будет искать описания классов и интерфейсов. spl_autoload() будет вызывать метод __autoload и передавать ему эти расширения. Также эта фунция может выводить уже зарегистрированные расширения файлов.

Список параметров

file_extensions

При вызове без параметров фунция просто выведет список зарегистрированных на данный момент расширений, перечисленных через запятую. Чтобы изменить этот список, необходимо вызывать фунцию, передав ей строку с расширениями, также перечисленными через запятую.

Возвращаемые значения

Список перечисленных через запятую расширений файлов для функции spl_autoload().

Коментарии

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');
2016-05-09 21:00:37
http://php5.kiev.ua/manual/ru/function.spl-autoload-extensions.html
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
?>
2017-07-05 12:46:09
http://php5.kiev.ua/manual/ru/function.spl-autoload-extensions.html

    Поддержать сайт на родительском проекте КГБ