spl_autoload_register()関数の役割
1700 ワード
復習_Autoloadの時、spl_が見えましたautoload_register()という関数.しかし、すぐには分からなかったので、資料を調べることで分かりました.
1.__Autoload()-自動ロード関数
私は多くのクラスファイルをクラス名で使用します.class.phpの形式はclassディレクトリに格納、classの同級ディレクトリにindexを確立する.php.classディレクトリに入るにはそれぞれclass 1を作成します.class.php、class2.class.php、class3.class.phpファイル、それぞれ中のファイルにコードを追加します
index.phpファイルへの書き込み
classの下にあるすべてのロードするクラスを自動的にロードすることに成功しました.
2.spl_autoload_register()——登録_Autoload()関数
classの中のファイルは何も変えないで、ただ簡単にindexを書き直します.php
1.__Autoload()-自動ロード関数
私は多くのクラスファイルをクラス名で使用します.class.phpの形式はclassディレクトリに格納、classの同級ディレクトリにindexを確立する.php.classディレクトリに入るにはそれぞれclass 1を作成します.class.php、class2.class.php、class3.class.phpファイル、それぞれ中のファイルにコードを追加します
<?php
//class1.class.php
class class1{
public function __construct(){
echo "class1";
}
}
?>
<?php
//class2.class.php
class class2{
public function __construct(){
echo "class2";
}
}
?>
<?php
//class3.class.php
class class3{
public function __construct(){
echo "class3";
}
}
?>
index.phpファイルへの書き込み
<?php
function __autoload($classname){
$filename = "./class/".$classname.".class.php";
if(is_file($filename)){
include $filename;
}
}
$test1 = new class1();
echo '<br/>';
$test1 = new class2();
echo '<br/>';
$test1 = new class3();
//
class1
class2
class3
?>
classの下にあるすべてのロードするクラスを自動的にロードすることに成功しました.
2.spl_autoload_register()——登録_Autoload()関数
classの中のファイルは何も変えないで、ただ簡単にindexを書き直します.php
<?php
// loadclass
// loadclass
function loadclass($classname){
$filename = "./class/".$classname.".class.php";
if(is_file($filename)){
include $filename;
}
}
// spl_autoload_register() loadclass
spl_autoload_register("loadclass");
$test1 = new class1();
echo '<br/>';
$test1 = new class2();
echo '<br/>';
$test1 = new class3();
?>
性能の上で、私はあまり発言権がなくて、多くのフレームワークの中ですべてsplを使うことを発見しましたautoload_register()、みんなが自然に彼の道理を持っている以上、私はまずこの疑問を残しておきましょう.