プログラミングLaravelこんにちは。Laravel(ララベル)を使ってみたいなーと思うLaravel(ララベル)初学者の方がまず陥るのがどこに何があるか分からないということです。Laravel(ララベル)のディレクトリ構造が分からないということです。何をやればいいのか分からない→挫折のような状況になってしまいます。今回は最初に理解して欲しいLaravel(ララベル)のディレクトリ構造についてまとめていきます。「Laravel(ララベル)のディレクトリ構造が分からない。「中身のディレクトリごとに何をやっているの?]という疑問にフリーランス歴5年、ウェブ系フリーランスエンジニア歴3年の僕が答えていきます。プロジェクトディレクトリの構造Laravel(ララベル)をでまずプロジェクトを作るコマンドを打ってみます。"5.6.33今回は5.6系のLaravel(ララベル)でプロジェクトを作ります。(Laravel-your_projectには自分で作りたいプロジェクトのプロジェクト名を入れてみてください。)Laravel(ララベル)がインストールされます。Laravel(ララベル)の動作確認をしましょう。;http://your-laravel_ip:8000</span>your-laravel_ipにはご自身が作った環境のipアドレスを入れてください。作ったので、http://192.168.33.10:8000でLaravel(ララベル)の表示が確認できます。Laravel(ララベル)でインストールされたディレクトリ群Laravel(ララベル)でプロジェクトを作ると以下のディレクトリがインストールされます。全てのディレクトリがインストールされました。例外のディレクトリもありますが、そちらは他の機会に。(appディレクトリ)Providersディレクトリ(appディレクトリ)Laravel(ララベル)のプロジェクトディレクトリ(直下ファイル)それではLaravel(ララベル)のプロジェクトディレクトリの構造についてまとめていきます。この中の何が何をやっているんだといいうことを確認してください。直下ファイルについて確認しておきましょう。.env.envは環境設定用のファイルです。Laravel(ララベル)を使っていく上でIPやDBなどを設定していく場所です。wordpressで行ったらwp-config.phpにあたらる部分で、環境変数に関する記述をする部分です。.gitattributes,.gitignoregit利用に関することを書いていく部分です。artisanartisanコマンドについて書いてある部分です。composer.jsoncomposerについて書いてある部分です。package.jsonnpmを利用する際のプログラムがまとめてある場所です。ユニットテストについて書いてある部分です。server.phpビルトインサーバー起動に関することが書いてある部分です。servewebpack.mix.jsJavaScriptパッケージ管理ツールであるwebpackについてまとめてある部分です。yarn.lockyarnというフロントエンドパッケージマネージャーにより自動生成されるファイルです。Laravel(ララベル)のプロジェクトディレクトリappディレクトリLaravel(ララベル)のアプリケーションを作る上でここが一番重要です。Laravel(ララベル)のアプリケーションのプログラムをここで書いていきます。中にある/Http/Controllerは特に触っていきます。MVCモデルの一つであるControllerはView(Webページで見られる部分)を呼び出す処理を書きますので、「Controllerどこにあんの?」ってなったr「appディレクトリだよ」と思い出してください。bootstrapディレクトリLaravel(ララベル)のbootstrapディレクトリはLaravel(ララベル)フレームワークの最初の起動をするファイルを持っています。最初の起動時のパフォーマンスを上げるためにフレームワークのキャッシュファイルなどを保存していきます。(ぶっちゃけあんまり触りません。)configディレクトリLaravel(ララベル)のconfigディレクトリはアプリケーションの全設定ファイルがまとめてあります。中にあるdatabase.phpではデータベースを使用する際の設定を書いていきます。auth.phpではauth認証についてまとめたり、timezone(時間設定)などはapp.phpに書いていきます。databaseディレクトリデータベース関連がまとめてあります。Laravel(ララベル)ではマイグレーションといって、データベースに入れる内容を事前に決めることができ、migrationファイルとして保存しておきます。そのmigrationファイルも/database/migrationsディレクトリの中にまとめてありますので、こちらに「migrationファイルが入るんだー」と覚えておきましょう。(databaseディレクトリはLaravel(ララベル)を扱う際に結構使います。)publicディレクトリLaravel(ララベル)のpublicディレクトリは外部に公開されるJSやCSSなどがまとめてあります。.htaccessやrobots.txtもここに入っていますので、地味に使います。「外部に公開されるCSSやJSはここに置いてあるんだー」と覚えておいてください。resourcesディレクトリこちらもCSSやJSを書いていく場所です。/resources/assetsに入ってあるJSやCSSはpublicの中のCSSやJSに自動で入ってくれます。書いていく際はこちらに書いていきましょう。「WEBサイトのCSSとJSどこに書くんよ!あほ!」ってなったらこちらに書いていくことを思い出してください。書くのはresources、配置されるのはpublicと覚えてください。いうか一瞬publicについて忘れてください。viewLaravel(ララベル)でウェブサービスを作っていくのでとても重要なMVCモデルの一つViewが入っている部分です。この中にウェブサイトで表示される部分を書いていくことになります。view内にウェブサイトを書いて、Controllerで呼び出す。viewディレクトリ触ったらControllerディレクトリも触るので、必ず覚えておいてください。routesディレクトリLaravel(ララベル)を構成する上で重要なルーティング関連がまとめてあります。初学者が勉強する上で一番触るのはweb.phpです。URLを作流のがweb.phpです。web.phpで「/」ならルートパスになり、「login」ならlogin画面のURLを作っていきます。web.phpはかなり触りますので、routeディレクトリの中にあることを覚えてください。storageディレクトリsrorageディレクトリは名前の通り、ファイルの保存場所です。アプリケーションのログファイルやコンパイルされたbladeテンプレートなどが保存されます。ログを確認したりする際に使います。(重要だけど、あんま使わないっす。Unitテストをする際のファイルなどが含まれています。テストに関しては、しっかり学ばれた方がいいので、今度まとめます。ライブラリを含んでいるディレクトリです。composerのパッケージなどが含んであリます。Consoleディレクトリ(appディレクトリ)consoleディレクトリはアプリケーションのartisanコマンドがまとめられています。make:commandでコマンドが作成できるのですが、そちらがまとめてあります。Exceptionsディレクトリ(appディレクトリ)例外処理に関する記述を書くところです。(appディレクトリ)Httpディレクトリはコントローラ、ミドルウェア、フォームリクエストを設置します。アプリケーションへのリクエストを処理するロジックは、ほぼ全てこのディレクトリ内に設置します。引用:https://readouble.com/laravel/5.8/ja/structure.htmlcontrollerはめちゃめちゃ使うので、覚えておいてください。Providersディレクトリ(appディレクトリ)Providersディレクトリは、アプリケーションの全サービスプロバイダにより構成します。サービスプロバイダは、サービスをコンテナと結合、イベントの登録、もしくはアプリケーションへやってくるリクエストを処理するために必要な用意をするタスクを実行するなど、アプリケーションの事前準備を行います。インストール直後のアプリケーションでも、このディレクトリは多くのプロパイダーを含んでいます。必要に応じて、自分のプロバイダを自由に追加してください。出展:https://readouble.com/laravel/5.8/ja/structure.htmlこちらはあんま使ったことないです。Laravel(ララベル)のディレクトリ構造Laravel(ララベル)のディレクトリ構造についてまとめていきました。システムを作っていく際には全ての機能を把握しておかなければなりませんが、どんな道でも少しずつ歩いていかなければ、いきたい場所には行けません。本記事で結構使うと書いた部分を確認して、自分で簡単なシステムを作ってみてください。Laravel(ララベル)の勉強でおすすめなのはこちらの記事です。おーこれはこれは、まあまあまあ、あはは、やばいな、セ...ちょっとずつ勉強していけば、できるようになりますのいで、自信をなくさず少しずつやっていきましょう。コメントをキャンセルメールアドレスが公開されることはありません。WordPress.。