Dieser Artikel stellt hauptsächlich die allgemeinen Funktionen in der PHP-SPL-Standardbibliothek vor. Dieser Artikel konzentriert sich auf die drei Funktionen spl_autoload_extensions(), spl_autoload_register() und spl_autoload() Die PHP-SPL-Standardbibliothek stellt einige Funktionen zur Verarbeitung bereit, z. B. automatisches Laden, Iteratorverarbeitung usw.
spl_autoload_extensions() fügt Dateierweiterungen hinzu, die von spl_autoload() geladen werden können.
spl_autoload_register() registriert die Funktion im SPL __autoload-Funktionsstapel.
Der Code lautet wie folgt:
/*test1.php*/ <?php class Test1 { } /*test2.lib.php*/ <?php class Test2 { } /*test.php*/ <?php //设置可加载类的文件扩展名 spl_autoload_extensions(".php,.inc.php,.class.php,.lib.php"); //设置include_path,autoload会在这些path中去寻找类文件,可通过PATH_SEPARATOR添加多个path set_include_path(get_include_path().PATH_SEPARATOR.'libs/'); //不提供参数,默认实现函数是spl_autoload() spl_autoload_register(); $test1 = new Test1(); $test2 = new Test2(); spl_autoload()它是__autoload()的默认实现,它会去include_path中加载文件(.php/.inc)
Der Code lautet wie folgt:
/*test1.php*/ <?php class Test1 { } /*test.php*/ <?php set_include_path(get_include_path().PATH_SEPARATOR.'libs/'); spl_autoload('test1'); $test1 = new Test1(); spl_autoload_call()调用所有spl_autoload_register注册函数来加载文件
Der Code lautet wie folgt:
/*test1.php*/ <?php class Test { public function getFilename() { echo 'test1.php'; } } /*test2.lib.php*/ <?php class Test { public function getFilename() { echo 'test2.lib.php'; } } /*test.php*/ <?php function loader($classname) { if($classname == 'Test1') { require __DIR__ . '/test1.php'; } if($classname == 'Test2') { require __DIR__ . '/test2.lib.php'; } } spl_autoload_register('loader'); spl_autoload_call('Test2'); $test = new Test(); $test->getFilename(); //test2.lib.php
Weitere SPL-Funktionseinführung:
class_implements – Gibt die angegebene Klasse zurück. Alle Schnittstellen sind implementiert.class_parents – Gibt die übergeordnete Klasse der angegebenen Klasse zurück.
class_uses – Gibt die von der angegebenen Klasse verwendeten Merkmale zurück.
iterator_apply – Ruft eine benutzerdefinierte Funktion für jedes Element im Iterator auf.
iterator_count – Zählt die Anzahl der Elemente im Iterator.
iterator_to_array – Kopiert die Elemente im Iterator zum Array
spl_autoload_functions – Gibt alle registrierten __autoload()-Funktionen zurück
spl_autoload_unregister – Hebt die Registrierung registrierter __autoload()-Funktionen auf
spl_classes – Gibt alle verfügbaren SPL-Klassen zurück
spl_object_hash – Gibt die Hash-ID von zurück das angegebene Objekt
Zum Beispiel wird die Iterator-bezogene Funktion verwendet:
Der Code lautet wie folgt:
$iterator = new ArrayIterator (array( 'recipe' => 'pancakes' , 'egg' , 'milk' , 'flour' )); print_r(iterator_to_array($iterator)); //将迭代器元素转化为数组 echo iterator_count($iterator); //计算迭代器元素的个数 print_r(iterator_apply($iterator, 'print_item', array($iterator)));//为迭代器每个元素调用自定义函数 function print_item(Iterator $iterator) { echo strtoupper ( $iterator -> current ()) . "\n" ; return TRUE ; }
: Das Obige ist Folgendes Ich hoffe, dass der gesamte Inhalt des Artikels für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:So betreiben Sie die Datenbank, um festzustellen, ob eine Tabelle in PHP vorhanden ist php Verwendet Curl, um eine Verbindung zur Website herzustellen. Und wie man Informationen erhält.
Das obige ist der detaillierte Inhalt vonDrei häufig verwendete Funktionen in der PHP-SPL-Standardbibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!