これは、OO デザインの基本的な考え方の 1 つでもあります。 PHP5 より前では、クラスを使用する必要がある場合、include/require を使用してクラスを直接インクルードするだけで済みました。実際の例を次に示します。
コードをコピー コードは次のとおりです。
class ClassA{
public function __construct () {
echo “ClassA ロード成功!”;
}
}
//クラス ClassA を定義します。ファイル名は ClassA.php
class ClassA{
public function __construct() {
echo “ClassA ロード成功!”;
}
}
class ClassB extends ClassA {
public function __construct(){
//parent::__construct( );
echo “ClassB ロード成功!”;
}
}
//クラス ClassB を定義し、ファイル名は ClassB.php、ClassB は ClassA を継承します
class ClassB extends ClassA {
public function __construct(){
//parent::__construct();
echo “ClassB ロード成功!”
}
}
テスト用の 2 つのクラスを定義した後、次のように、__autoload() メソッドを含む PHP 実行プログラム ファイルを作成します。
function __autoload($classname){
$classpath=”./”.$classname.'.php'; (file_exists ($classpath)){
require_once($classpath);
}
echo 'class file'.$classpath.'not found!'; >}
$newobj = new ClassA();
$newobj = new ClassB();
このファイルを実行することはまったく問題ありません。強力な自動ロードは使いやすいです、笑...
しかし、注意しなければならない点がいくつかあることを思い出してください。
1. クラスに継承関係があり (例: ClassB が ClassA を拡張する)、ClassA が ClassB が存在するディレクトリにない場合