クラスを外部ファイルで定義する際の注意(>自分用)

PHPでは一般的に、ファイル中でクラスの宣言は、実行文の後でも大丈夫だ。たとえば、こんなの。

$obj = new hoge;
class hoge {}

しかし、クラスが外部ファイルで定義されている場合、以下のようにするとエラーが出るので注意する。

$obj = new foo;
require_once 'class.foo.php';

また、外部ファイルで定義されたクラスを継承する場合も、以下はエラーが出る。

require_once 'class.foo.php';
$obj = new bar;
class bar extends foo {}

このように、クラス定義の後に実行文を置くこと。

require_once 'class.foo.php';
class bar extends foo {}
$obj = new bar;