Drei häufig verwendete Funktionen in der PHP-SPL-Standardbibliothek

墨辰丷
Freigeben: 2023-03-31 12:30:01
Original
2723 Leute haben es durchsucht

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.&#39;libs/&#39;);
//不提供参数,默认实现函数是spl_autoload()
spl_autoload_register();
 
$test1 = new Test1();
$test2 = new Test2();
spl_autoload()它是__autoload()的默认实现,它会去include_path中加载文件(.php/.inc)
Nach dem Login kopieren

Der Code lautet wie folgt:

/*test1.php*/
<?php
class Test1
{
}
 
/*test.php*/
<?php
set_include_path(get_include_path().PATH_SEPARATOR.&#39;libs/&#39;);
spl_autoload(&#39;test1&#39;);
$test1 = new Test1();
spl_autoload_call()调用所有spl_autoload_register注册函数来加载文件
Nach dem Login kopieren

Der Code lautet wie folgt:

/*test1.php*/
<?php
class Test
{
    public function getFilename()
    {
        echo &#39;test1.php&#39;;
    }
}
 
/*test2.lib.php*/
<?php
class Test
{
    public function getFilename()
    {
        echo &#39;test2.lib.php&#39;;
    }
}
 
/*test.php*/
<?php
 
function loader($classname)
{
    if($classname == &#39;Test1&#39;) {
        require __DIR__ . &#39;/test1.php&#39;;
    }
    if($classname == &#39;Test2&#39;) {
        require __DIR__ . &#39;/test2.lib.php&#39;;
    }
}
 
spl_autoload_register(&#39;loader&#39;);
spl_autoload_call(&#39;Test2&#39;);
 
 
$test = new Test();
$test->getFilename(); //test2.lib.php
Nach dem Login kopieren

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( &#39;recipe&#39; => &#39;pancakes&#39; ,  &#39;egg&#39; ,  &#39;milk&#39; ,  &#39;flour&#39; ));
 
print_r(iterator_to_array($iterator)); //将迭代器元素转化为数组
echo iterator_count($iterator); //计算迭代器元素的个数
print_r(iterator_apply($iterator, &#39;print_item&#39;, array($iterator)));//为迭代器每个元素调用自定义函数
 
 
function print_item(Iterator $iterator)
{
    echo  strtoupper ( $iterator -> current ()) .  "\n" ;
    return  TRUE ;
}
Nach dem Login kopieren

Zusammenfassung

: 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.

Wie man die MySQL-Datenbank und den Sitzungsdialog mit PHP betreibt

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!