2

私が誤解していなければ、Laravel のバンドルは Codeigniter の Hierarchical MVC triads に似ているはずです。CI でビルドされたプロジェクトがあり、それを Laravel に移行したいので、いくつかの機能を一致させようとしています。CI では、HMVC 拡張機能をインストールし、適切なフォルダー構造を作成するだけで、新しく作成したコントローラーにアクセスできます。application/bundles.phpただし、Laravelでは、バンドルを作成した後、追加して登録する必要があります

return array('newbundle'),

バンドルのディレクトリに存在するすべての (有効な) バンドルを自動的に登録する方法はありますか? のように、すべての新しいバンドルを明示的に登録する必要はありません。つまり、バンドルをもう少し動的にして、1 つのバンドルをコピーして別のプロジェクトに貼り付け、すぐに使い始めることができるようにしたいと考えています。

副次的な質問として、Wordpress がそのプラグインで行うことを Laravel のバンドルで実現する「適切な」方法を誰かが知っていますか: バンドルのディレクトリにインストールされているすべてのバンドルのリストを表示しますが、選択したもののみをアクティブ化 (登録) しますもの?

4

1 に答える 1

5

なぜ誰もあなたに実際の答えを与えていないのか分かりません。これまでに、外出先でバンドルの自動ロードを実現する方法を理解しているかもしれません。そうでない場合は、次のバンドルをご覧ください。

http://bundles.laravel.com/bundle/autobundle

2番目の質問では、WordPressがプラグインで行う方法で管理するために、カスタムアプリ/バンドルを開発する必要があります。私はあなたにアイデアを与えることしかできず、開発の部分はすべてあなたのものです。

データベーステーブル(バンドルの例)を保持し、カスタムバンドルまたはルート/コントローラーを使用して、バンドルの追加/削除を管理します。これには、新しいバンドルをzipとしてアップロードし、dbテーブルにバンドルの詳細を登録しながらバンドルフォルダーに抽出することが含まれます。プラグインをアクティブ化するときはいつでも、アクティブ化フィールドをtrueにして、アプリケーションディレクトリのメインstart.phpにカスタムバンドル開始メソッドを設定します。これは、アクティブ化されたバンドルのすべての名前をフェッチしてロードする関数です。レジストリ。このアプローチを使用する場合は、自動バンドルの使用を避けることができます。これは、実際にはバンドルディレクトリ内のすべてをロードするためです。

于 2012-10-20T14:40:50.463 に答える