[PHP-users 32045] DB_DataObject 拡張クラスの自動ロードについて
Wataru Ikeda
wataru_ike @ yahoo.co.jp
2007年 4月 27日 (金) 03:28:37 JST
池田と申します。
DB_DataObject の拡張クラスの自動ロードが思うように動いてくれません。
試行錯誤を重ねましたが、以下の設定ではクラスの静的呼び出しと、直接インス
タンスを作成する際にクラスが Not Found になってしまいます。
拡張クラスのディレクトリはどう認識させればいいのでしょうか。
ご助言頂けたら幸いです。
・Factory メソッドでのインスタンス作成は正常。
$person = DB_DataObject::factory('persons');
・以下のような静的呼び出しと拡張クラスのインスタンス作成では
クラスディレクトリの場所を見付けてくれない。
$person = CF_Persons::staticGet(1);
$person = new CF_Persons;
Fatal error: Class 'CF_Persons' not found in
/home/admin/cashflow/index.php on line x
・クラスファイルを直接 require するとインスタンス作成は正常。
require_once('/home/admin/cashflow/DataObjects/Persons.php');
$person = CF_Persons::staticGet(1);
以下が DB_DataObject にパースさせる .ini ファイルの内容です。
実際にスクリプトを実行するディレクトリは cashflow で、DataObjects
ディレクトリに createTable.php で作成された拡張クラスが入っています。
include_path に実行ディレクトリへのパスは追加していません。
--
[DB_DataObject]
database = pgsql://admin:@localhost/cashflow
schema_location = /home/admin/cashflow/DataObjects
class_location = /home/admin/cashflow/DataObjects
require_prefix = DataObjects/
class_prefix = CF_
debug = 3
ignore_sequence_keys = "ALL"
quote_identifiers = 1
generator_strip_schema = 1
--
PEAR は Fedora extras の rpm を利用しています。宜しくお願いします。
Linux 2.6.20-1.2312.fc5
php-5.1.6-1.5
php-pgsql-5.1.6-1.5
php-pear-1.4.9-1.2
php-pear-DB-DataObject-1.8.5-2.fc5
PHP-users メーリングリストの案内