PHP5 より前では、クラスを使用する必要がある場合、 include/require
test.class.php
Copy code を使用して直接インクルードするだけで済みます。コードは次のとおりです。
class abc{
function __construct()
{
echo 'www.hzhuti.com; }
}
?>
コードをコピーしますコードは次のとおりです。
class LOAD
{
static functionloadClass($class_name)
{
$filename = $ class_name.".class.php" ;
if (is_file($filename)) return include_once $filename
}
}
/**
* オブジェクトの自動ロードを設定します
* spl_autoload_register — 指定された関数を __autoload() 実装として登録します
*/
spl_autoload_register(array) ('LOAD', 'loadClass' ));
$a = new Test();// 多くのフレームワークはこのメソッドを使用してクラス
?>
__autoload()
実際のプロジェクトでは、すべてのクラスを 1 つの PHP ファイルに記述することは不可能です。別のファイルで宣言されたクラスを PHP ファイル内で呼び出す必要がある場合は、そのファイルを include で導入する必要があります。ただし、多くのファイルを含むプロジェクトでは、必要なクラス ファイルを 1 つずつインクルードする必要がある場合、各クラス ファイルの先頭にインクルードされるファイルの長いリストを記述しなければならないことが大きな問題となります。使用するときに、このクラスが配置されているphpファイルをインポートできますか?
コードは次のとおりです: 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
クラスを継承しますClassB は ClassA を拡張します {
public function __construct(){
//parent::__construct();
echo “ClassB ロード成功!”
}
}
;
2 つを定義します。 クラスをテストした後、次のように __autoload() メソッドを含む PHP 実行プログラム ファイルを作成します。
コードは次のとおりです。次のように: function __autoload($classname){
$classpath=”./”.$classname.'.php';if(file_exists($classpath)){
require_once($classpath );
}
else{
echo 'class file'.$classpath.'not found!';
}
}
$newobj =新しいクラスA();
$newobj = 新しいクラスB();