PSR-0準拠のディレクトリ構造


configuration psr-0

 悩み事

app/modelsapp/controllersにたくさんの実装コードがあります

開発が進むにつれて、Laravelがデフォルトで提供しているディレクトリ内に多くのファイルが出来上がり、
肥大化していきます

 解決方法

PSR-0に準拠したディレクトリ構造を利用してみましょう

最初にcomposer.json を編集して更新しましょう

{
    "autoload": {
        "psr-0": {
            "MyApp": "app/"
        },
        "classmap": [
            "app/commands",
            "app/database/migrations"
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    }
}

ここでは、"classmap" から使用していないディレクトリを全て削除して、
"psr-0"を利用するディレクトリを追加します

autoloadファイルを再生成します

$ composer dump-autoload

名前空間を使用して、クラスの階層を構築することができます

 アドバイス

準拠したサンプルのクラスです

"app/"配下の app/MyApp/Controllers にコントローラーがあるとしましょう
そのコントローラーがMiscController.phpというファイル名になっています

<?php
namespace MyApp\Controllers;

class MiscController extends \Controller
{
    // 実装コード
}

PSR-0を利用する事で、
"どこにコードを実装したら良いですか?"から"どうやって構造化するべきですか?"と考え方に変化をもたらします


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa