2017-05-06 5 views
1

app/extensions/data/source/database/adapter/にあるカスタマイズされたアダプタを使用するために接続を取得しようとしています。私は、接続クラスを拡張し、リチウム:場所を変更するにはどうすればいいですか?接続とそれに類するクラスでアダプタを探す

protected static $_adapters = 'adapter.extension.data.source'; 

protected static $_adapters = 'data.source'; 

を交換し、それを始めるには十分だろうapp\extensions\data\Connections; を使用するapp/config/bootstrap/connections.phpの上部に使用された接続クラスを変更すると思いました。しかし、これは、コードが元のConnectionsクラスを使用しようとしているところで、エラーが発生するだけです。

これを実現する簡単な方法はありますか、またはリライトされたクラス参照を持つ拡張機能のリチウム/データからクラス全体のセットを再作成する必要はありますか?

編集: 私はこれを間違った方法で行っていました。 Nate Abeleのアドバイスを受けた後、Libraries::path('adapter')はMySql.phpファイルを正しく配置する場所を教えてくれました;-)

答えて

1

名前付きクラス(つまり、要約のサービス)の処理方法Librariesクラス(具体的にはthe paths() method)を参照すると、クラスパスの参照方法を定義できます。

locate()$_pathsのような関連定義を見ると、デフォルト設定の外観を知ることができます。

最後に、それが提供する設定に基づいて、動的に一つのパスを定義するため、Connectionsクラスは「特別」であることに注意してください。http://li3.me/docs/api/lithium/1.0.x/lithium/data/Connections::_class()

これはあなたのクラスが何をオーバーライド/延長せずに組織化されている方法を再構成するに役立つはずです。一般的には、大幅に異なる動作が必要な場合を除いて、これを行う必要はありません。

+0

また、実行していることを示すコード例や、表示されているエラーメッセージをフォローアップしてください。 –

+0

こんにちは。あなたの返信を読んで、Libraries :: paths()のドキュメントとコードを勉強した後、私は元の質問を編集しました。 – Archer

+0

それで、あなたはそれを働かせましたか? –

関連する問題