Laraelでアプリケーションを作成したときに一気にできるフォルダについて、何をどこに記載すればいいかわからなくなることがあるため、参考程度にフォルダやファイルの役割を記載しておきます。
動作環境
macOS Big Sur
MacBook Air (M1, 2020)
Laravelで新規プロジェクトを作成する
terminalからコマンドを打つことでlaravelを使った新規プロジェクトを自動で作成することができます。
プロジェクトを作成したいディレクトリに移動し、以下のコマンドを打ちます。
新規プロジェクト作成
compsoer create-project laravel/laravel sampleapp --prefer-dist
Laraelのフォルダ構成
作成したプロジェクトの直下のファイル群
ファイル名 | ファイルの内容 |
---|---|
[.editorconfig] | テキストファイルを編集・保存する際にインデントや改行コードを設定したものに統一するための設定情報 |
[.env] [.env.example] | 動作環境に関する設定情報 |
[.styleci.yml] | PHPやJS、CSSのフォーマットをチェックし、自動で整形可能なサービスの設定情報 |
[.gitattributes] [.gitignore] | git利用に関する情報 |
[artisan] | artisanコマンド(php artisan serveで使ったもの) |
[composer.json] [composer.lock] | composerの利用に関するもの |
[package.json] | JavaScriptのパッケージ管理ツール(npm)で利用するもの |
[phpunit.xml] | PHPUnit(ユニットテストプログラム)に関するもの |
[server.php] | サーバー起動時に利用されるプログラム |
[webpack.mix.js] | webpackというJavaScriptパッケージツールで使うもの |
作成したプロジェクトの直下のフォルダ群
フォルダ名 | フォルダの内容 |
---|---|
app | アプリケーションのプログラム部分がまとめられるところ。アプリケーションの開発時には、ここに必要なスクリプトファイルを追加していきます。 |
bootstrap | アプリケーション実行時に最初に行われる処理がまとめられています。 |
config | 設定関係のファイルがまとめられています。 |
database | データベース関連のファイルがまとめられています。 |
public | 公開フォルダです。JavaScriptやスタイルシートなど、外部にそのまま公開されるファイルはここにまとめられています。 |
resources | リソース関係の配置場所です。プログラムが利用するリソースファイルが用意されます。プログラムのテンプレートファイルなどが用意されます。 |
routes | ルート情報の保存場所です。アクセスするアドレスに割り当てられるプログラムの情報などがが記されています。 |
storage | ファイルの保存場所です。アプリケーションのプログラムが保存するファイルなどが置かれます。ログファイルなどはここに保存されます。 |
tests | ユニットテスト関係のファイルが用意されます。 |
vendor | フレームワーク本体のプログラムがまとめられています。 |
appフォルダ直下のフォルダについて
主に作業することになるappフォルダについてはさらに詳しく記載しておきます。
フォルダ名 | フォルダの内容 |
---|---|
[Console] | コンソールプログラムを配置するところです。 |
[Exceptions] | 例外に関する処理を配置するところです。 |
[Http] | これが、Webアプリケーションにアクセスしたときの処理をまとめておくところです。アプリケーションの基本的なプログラムはここに作成します。 |
[Providors] | プロバイダと呼ばれるプログラムを配置します。 |
[Models] | モデルと呼ばれるプログラムを配置します。 |
作成したプロジェクト直下のroutesフォルダについて
apiを作るにあたって重要になるルーティングという機能についての設定情報はこちらにまとめます。
バックエンドの開発では頻繁に作業することになるので詳しく記載しておきます。
ファイル名 | ファイルの内容 |
---|---|
[api.php] | APIのルーティングです。例えばユーザー認証などのように、プログラムないから利用するAPIの機能を特定のアドレスに割り当てるの利用されます。 |
[channels.php] | ブロードキャストチャンネルのためのルーティングです。 |
[console.php] | コンソールプログラムのためのルーティングです。 |
[web.php] | これが、一般的なWebページとしてアクセスするためのルーティングです。 |