ポイントにまっすぐ:
私はコハナを使用しており、プレーンPHPで記述された別のスクリプトを見ています。スクリプトには、ShoppingCartクラスがあります。スクリプトをKohanaに変換する場合、クラス、そのメソッド、およびそのプロパティをどこに配置しますか?
それは私の既存のデフォルトコントローラーにありますか?または、別のコントローラーに配置する必要がありますか?それとも、初心者のように聞こえるかもしれませんが、モデルに入れますか?
ポイントにまっすぐ:
私はコハナを使用しており、プレーンPHPで記述された別のスクリプトを見ています。スクリプトには、ShoppingCartクラスがあります。スクリプトをKohanaに変換する場合、クラス、そのメソッド、およびそのプロパティをどこに配置しますか?
それは私の既存のデフォルトコントローラーにありますか?または、別のコントローラーに配置する必要がありますか?それとも、初心者のように聞こえるかもしれませんが、モデルに入れますか?
kohanaの規則に従って、カスタムクラスをapplication/librariesフォルダーに配置する必要があります。ただし、このためには、クラスを配置した後でクラスを機能させる方法を知っておく必要があります。それがわからない場合は、コントローラーに入れたり、別のコントローラーを作成したりすることができます。
Kohana には、サードパーティ ライブラリ用のフォルダーがあります。主なものは system/vendor の下にあり、application/ にも配置できます。
クラスを自動的にロードしたい場合、多くのPHPクラスローダーは、ファイル名がクラス名と同じである必要があるなどの詳細を必要とします(少なくとも、Kohanaのドキュメントで読んだことです)。
アプリでサード パーティのコードを使用する必要がある場合は、アプリ/モジュール フォルダーに「vendor」というフォルダーを作成し、そこにすべてのコードを配置することをお勧めします。
次に、次のように呼び出してファイルを含めることができます。
include kohana::find_file('vendor', 'filename');
必要に応じて、外部ライブラリのラッパーを作成することもできます。これの良い例は、サード パーティの Swift 電子メール ライブラリを使用する電子メール ヘルパーです。
独自のクラスを kohana に移植する場合は、そのクラスが何をするのかを調べ、それに応じて分類する必要があります。
クラスがある種のデータベースからアイテムをフェッチする場合は、それをモデルにする必要があります。ライブラリは通常、認証、カレンダー生成など、コントローラー/モデル全体で再利用するコードのセットです。コントローラーは、モデルからビュー/ライブラリにデータを渡すために使用されます。
それは、私が推測するクラスの詳細に依存します。正直、Kohana については何も知りませんが、おそらくどこかに「ベンダー ファイル」の場所があるでしょう。そこに配置して、コントローラーにラッパー関数を記述するのが最善かもしれません。クラスが既に Kohana とうまく統合されている場合は、代わりにそれをコントローラーまたはモデルとして直接使用することを選択できます。または、時間をかけて書き直して、コントローラーとして機能させることもできます...
最適な場所を評価できるのはあなただけです。ここには厳格なルールはありません。