Qu'est-ce que autoload en php? [dupliquer]

cette question a déjà une réponse ici:

  • Qu'est-ce que L'Autoloading; comment utilisez-vous spl_autoload, __ _ autoload et spl_autoload_register? 2 réponses

qu'est-ce que autoload en PHP?

31
demandé sur hakre 2010-08-31 13:06:19

5 réponses

cela vous aidera sur l'utilisation de autoload. http://ditio.net/2008/11/13/php-autoload-best-practices/

26
répondu osm 2013-04-14 19:53:05

Voici la documentation officielle: http://php.net/autoload

en bref, il vous permet juste de définir des chemins de recherche pour les classes de sorte que vous ne seriez pas obligé d'inclure les fichiers contenant eux manuellement.

je suggère que vous développiez l'habitude de chercher php.net en ajoutant simplement des noms de fonction ou des mots-clés évidents à l'adresse. Voilà comment j'ai trouvé php.net/autoload. C'est assez pratique comme ça.

28
répondu slikts 2013-08-23 16:31:40

Qu'est-ce que l'autoloading?

chaque fois que vous voulez utiliser une nouvelle classe dans votre projet PHP, vous devez d'abord inclure cette classe (en utilisant include ou require language construct, c'est vrai que ce ne sont pas des fonctions). Cependant, si vous avez défini la fonction __autoload, l'inclusion se gérera elle-même.

include "classes/class.Foo.php";

$foo = new Foo;
$foo->start();
$foo->stop();

Exemple D'Autoloading De Base

function __autoload($class_name) 
{
    require_once $DOCUMENT_ROOT.“classes/class.”.$class_name.“.php”;
}

$foo = new Foo;
$foo->start();
$foo->stop();

PHP Official

autres

mise à Jour

PHP 5 introduit la fonction magique _ _ autoload () qui est automatiquement appelée lorsque votre code renvoie une classe ou une interface qui n'a pas encore été chargée.

le principal inconvénient de la fonction __autoload() est que vous ne pouvez fournir qu'un seul autoloader avec elle. PHP 5.1.2 introduit spl_autoload() qui vous permet d'enregistrer plusieurs les fonctions d'autoloader, et dans le futur la fonction __autoload() sera dépréciée.

l'introduction de spl_autoload_register() a donné aux programmeurs la possibilité de créer une chaîne autoload, une série de fonctions qui peuvent être appelées pour essayer de charger une classe ou une interface. Par exemple:

<?php
function autoloadModel($className) {
    $filename = "models/" . $className . ".php";
    if (is_readable($filename)) {
        require $filename;
    }
}

function autoloadController($className) {
    $filename = "controllers/" . $className . ".php";
    if (is_readable($filename)) {
        require $filename;
    }
}

spl_autoload_register("autoloadModel");
spl_autoload_register("autoloadController");
19
répondu Muhammad Shahzad 2016-08-03 17:11:39
an __autoload() 

//function which is automatically called in case you are trying to use     
//a class/interface which hasn't been defined yet.

function __autoload($class_name) {
    include $class_name . '.php';
}
1
répondu kumardippu 2017-04-14 00:37:11

Autoloader est une fonction qui charge tout l'objet sur le démarrage. et aussi appelé le nom de la classe.

-7
répondu anugrah nath 2013-04-14 19:29:23