インスタンス化時に基本パッケージをロードする方法を理解するために、 xPDOコンストラクターのリバース エンジニアリングに 1 時間以上を費やしたことがあります。
残念ながら、コードの小さなスニペットを失ってしまいました! そして、私はこれを残しています。
$this->database = new xPDO(
"mysql:host=" . $this->config->item('hostname', XPDO) .
";dbname=" . $this->config->item('database', XPDO),
$this->config->item('username', XPDO),
$this->config->item('password', XPDO),
$this->config->item('dbprefix', XPDO)
);
// This is line I would like to pass to the constructor.
$this->database->addPackage('packageName', $this->config->item('core_path') . "components/package/model/", '_packagePrefix');
ドキュメントのどこにもこれが見つかりません。
編集 xPDO では、デフォルトでロードされないパッケージを具体的に追加する必要があります。デフォルトでは、xPDO はインスタンス化時にパッケージをロードしません。
ただし、xPDO のコンストラクターの分解にかなりの時間を費やしたことがあり、インスタンス化時にロードされるパッケージの配列を定義できるオプションのパラメーターがあることがわかりました。
私の問題は、これを行う方法を思い出せないことです。