2016-07-01 2 views

ответ

1

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

Автозагрузка не доступно при использовании PHP в интерактивном режиме CLI.

Говоря выше вы можете сделать это, как показано ниже:

<?php 
    spl_autoload_register(function ($class_name) { 
     include $class_name . '.php'; 
    }); 

    // example 

    $pet = new Dog(); // this class will be auto loaded from file Dog.php. 
+0

Так, но если этот класс имеет имя файла: dog.php или Dog.php? – Huligan

+0

от Dog.php, как лучшая практика, старайтесь сохранить имя файла таким же, как имя класса. –

+0

Да, я знаю, но если в любом случае, когда я не знаю имя файла? Предположим, что у него есть D или d. Таким образом, включает ли автозагрузка? – Huligan