クラスで定義できる方法はありますか?__autoload
未定義のクラスにアクセスするたびに、PHPは__autoload
クラスメソッドを実行しますか?
<?php
class Test {
public function __construct() {
echo 'Instantiating ', __CLASS__, "\n";
}
public function __autoload($className) {
echo "Loading $className\n";
require_once($className . '.php');
}
public function test() {
$test = new AnotherClass();
}
}
$bill = new Test();
$bill->test();
AnotherClass.php:
<?php
class AnotherClass {
public function __construct() {
echo 'Instantiating ', __CLASS__, "\n";
}
}
出力:
テストのインスタンス化 AnotherClassの読み込み AnotherClassのインスタンス化