PHPに慣れる為に週1ぐらいで更新していきます。PHP Manualを読んで実験して行きます。
前回:PHP Manual 読書会(10回目)(クラスとオブジェクト1)
クラスのオートローディング
最大の問題は、各スクリプトの先頭に、必要な読み込みを行う長いリストを 記述する必要があることです
PHP 5では、これはもう不要です。 spl_autoload_register() 関数で任意の数のオートローダーを登録できて、 クラスやインターフェイスが定義されていなくても自動的に読み込めるようになります。
spl_autoload_register
を使用することによって長たらしい読み込み記述を書かなくて済むようだ。
同一ディレクトリにHoge.php
を置く。
<?php
class Hoge
{
public function say() {
echo "hello hoge\n";
}
}
set_include_path
で同一ディレクトリをinclude pathへ追加
<?php
set_include_path('./');
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});
$obj = new Hoge();
呼び出すことができる。