• WEB

Laravel5.2 自分なりのディレクトリ構造

  • いまこ
    いまこ システムちーむ
  • このエントリーをはてなブックマークに追加

こんにちは、いまこです。
今回もLaravelネタです。

Laravelってとても自由で使いやすいと思うのですが、
自由すぎてディレクトリ構造とかどうしようかなと悩むことありません?
実際自分は悩みました・・・
そこで、今回はディレクトリ構造について書いていこうと思います。

あくまで自分なりのディレクトリ構造です。
Laravel熟練者からしてみれば、何言ってんだこいつって思うことがあるかと思いますが、どうか温かい目で・・・

ディレクトリ構造

記事を書く前にディレクトリ構造について調べてみたら、皆さん凄い難しそうなことをしていたのですが、
自分は難しいことはしません!!
というか難しいことできません!!笑
基本的にはデフォルトのディレクトリに必要なものを付け足していく感じになります。

左がLaravel5.2のデフォルト、
右がカスタマイズしたディレクトリ構造になります。

※Admin、Pc、Sp、サイトがある前提です

laravel_directory

それではカスタムしたことについて説明していこうと思います。

追加したフォルダ/ファイル

Routing

app/Http/Routes/

Admin/Pc/Sp用のRoutingファイルを作成します。

  • AdminRoutes.php
  • PcRoutes.php
  • SpRoutes.php

作成後、デフォルトで存在するroutes.phpファイルに読み込ませます。


// app/Http/routes.php

require(app_path('Http/Routes/AdminRoutes.php'));
require(app_path('Http/Routes/PcRoutes.php'));
require(app_path('Http/Routes/SpRoutes.php'));

Controller

app/Http/Controllers/

Admin/Pc/Sp用のフォルダを作成し、その中に対応するControllerを作成していきます。

Model

app/Eloquents/

Modelファイルを設置します。

app/Repositories/

Repositoryファイルを設置します。
ちなみにDIが面倒なので、Facade化させて使用します。

Middleware

app/Http/Middleware/

Admin/Pc/Spフォルダを生成し、対応するMiddlewareを作成していきます。

Facade

app/Facades/

Facadeとして使用するクラスを紐付けるクラス置き場です。
getFacadeAccessor()やるところです。

Validation

app/Http/Requests/

FormRequestを使用します。
Admin/Pc/Spフォルダを生成し、対応するFormRequestファイルを作成していきます。

自作Helper

app/Helpers/

自作Helper置き場です。
Helperの作り方についてはこちらの記事が参考になります。

View

resources/views/

admin/pc/spフォルダを作成し、Controller名毎にフォルダを、メソッド名毎にファイルを作成していきます。

例)
Controller
Pc/IndexController.php


// Controller内メソッド

public function index()
{
    return view('pc.index.index');
}

View
pc/index/index.blade.php

js

public/js/

実際に読み込むjsを設置します。
admin/pc/spフォルダを作成し、対応するファイルを設置します。

resources/assets/js/

フレームワーク等を使用し、変換が必要な場合はここに設置します。
admin/pc/spフォルダを作成し、対応するファイルを設置します。

言語

resources/lang/

enフォルダをコピーし、jaフォルダを作成します。
その後各ファイルを日本語化させます。

css

public/css/

admin/pc/spフォルダを作成し、対応するファイルを作成していきます。

画像

public/img/

admin/pc/spフォルダを作成し、対応すファイルを設置していきます。

定数

config/

下記ファイルを作成し、対応する定数を設定していきます。

  • const_common.php
  • const_admin.php
  • const_pc.php
  • const_sp.php

.envファイル

開発用と本番用を作成します。

  • .env_develop
  • .env_production

開発と本番で違う設定がある場合は、ここに記述します。
例)メアド等

最後に

Laravelは、ほんと自由にディレクトリ構造を変更できるので、
一人で開発するときはストレスフリーで開発できると思います。

しかし複数人で開発するとなると、最初にしっかり決めておかないと後々面倒なことになってしまうかと思われますので、気を付けるようにしましょう!

何にでも言えることだと思いますが、何事も基礎は大事ということですね!!

このエントリーをはてなブックマークに追加

いまこが最近書いた記事

WRITERS POSTS もっと見る

他にもこんな記事が読まれています!

  • WEB
  • マーケティング
  • サーバー・ネットワーク
  • ライフスタイル
  • お知らせ