4

新しいLaravel 4アプリでコントローラー/モデルを構造化する「最良の」方法を見つけようとしています。

明らかに、コントローラーを薄くて軽量に保ちたいと思っています。だから私はリポジトリ/サービスと協力して物事を分離したいのですが、Laravel 4でこれを実装する方法がよくわかりません.Laravel 3はこれがどのように機能するかについていくつかのアイデアを与えてくれましたが、サンプルはありません.

これを行うための最もきちんとした方法を見つけた人はいますか、または私が覗くことができるサンプルコードはありますか?

4

3 に答える 3

7

これらのクラスを Laravel 4 のどこに格納するかが明確ではないという事実に同意します。

簡単な解決策は、メインの app/ フォルダーに repositories/services フォルダーを作成し、メインの composer.json ファイルを更新してそれらを自動ロードすることです。

{
    "require": {
        "laravel/framework": "4.0.*"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/tests/TestCase.php",
            "app/repositories",
            "app/services"
        ]
    },
    "minimum-stability": "dev"
}

注: 新しいクラスを作成するたびに、実行する必要がありますcomposer dump-autoload

リポジトリの場合、Laravel でそれらをコントローラに自動的に挿入できます。これは、このテーマに関する優れたスクリーンキャストだと思います。

于 2013-02-01T21:49:33.967 に答える
3

この一連のチュートリアルは、プロジェクトに挿入するカスタム サービス プロバイダーやその他のファイルを適切な場所に保存するための優れた入門書であることがわかりました。

これらのチュートリアルは、このコレクションからのものです。

http://fideloper.com/tag/laravel-4

于 2013-03-27T19:26:30.423 に答える