イイダリョウのブログ。worldするPHP前回、MAMP環境でLaravelの白い画面を出しました。worldなどを行いました。クモのようにコツコツとやったこと前回表示した「白い画面」はこちらここから手を加えていきます。全体の流れとしてはこんなことを行いました。第一階層はこちら前回インストールした「Funter」というソフトのおかげで隠しファイルも表示されています♪パスの/publicをなくす前回表示した白い画面のパスはURLのルート/ではなく/pablicでした。URLのルート/画面はディレクトリ一覧が表示されてしまいました。うーむ...ちょっとよろしくないですねこれは。できればルート/自体を「白い画面」にしたいです。調べたところ、いくつかの方法がありました。Webサーバのhttpd.confファイルでURLを変更する/publicの中身をルート直下に移動して、関連するパス設定を修正する/public以外のディレクトリを別のディレクトリに移動し、/publicの中身をルート直下に移動し、関連するパス設定を修正するルート直下に.htaccessファイルを置くhttpd.confを修正する一応、この方法はMAMP環境では成功したのですが、Laravelファイルの外側(Webサーバ)での設定のため、今後オンライン上にアップするときなど、環境ごとに都度設定をしなければならない。Laravelの中で設定が完結できた方がといいなーと感じました。ドドスコblog/publicの中身をルート直下するこちらは割とシンプルそうな方法ですが、まだ/publicとそれ以外のファイルの位置関係をそこまで理解しきれていないため、少し不安を感じる。Laravel学習帳/publicとそれ以外を分離するこちらはシステムとデザインを分離する方法でシステム的には綺麗になるようです。大掛かりな作業でハードルが高いかも。GitHubIfModuleやRewriteCond(条件)、RewriteRule(処理)などはリダイレクト系の記述。13行目に/publicのパスがあります。world/publicの中身さて、/publicディレクトリは無傷のままURLのみを変更できました。/publicディレクトリの中身を見てみる。このディレクトリにはCSSやJSなど表示される画面についてのファイルが入っているようです。fabiconもありますね。$response);ふむふむ......一つだけわかったこと。この中には「白い画面」に表示されている要素は何一つない!...と、いうこと。/publicのindex.phpがどのような処理を行っているか解説されている記事がありました。(1/3):CodeZine(コードジン)オートロードファイルの読み込み(vendor/autoload.php)アプリケーションインスタンスの生成(bootstrap/app.php)HTTPカーネルによる処理リクエストのディスパッチ(移管)このうちの3番目「HTTPカーネルによる処理」で読み込まれるapp/Providers/RouteServiceProvider.phpというファイルの中に、4番目の「リクエストのディスパッチ(移管)」先であるroutes/web.phpを読み込む処理が書かれていると。ふむ、見てみましょう。RouteServiceProvider.phpを開くapp/Providers/ディレクトリの中を見てみる。あった!RouteServiceProvider.php。}}みっけた!!確かにあった!mapWebRoutesメソッドのところ。}protectedはアクセス制御(そのクラスとサブクラスのみアクセスできる)mapWebRoutesメソッドを定義Routeクラスのmiddleware()メソッドの設定(引数はweb)namespace()の引数を$this->namespaceにgroup()のbase_path()の引数をroutes/web.phpにこの最後のところがroutes/web.phpを読み込む設定!routes/web.phpを開くroutes/ディレクトリの中を見てみる。その中のweb.phpを開いてみる(コメントは省略)。第二引数:無名関数を実行view()メソッドでwelcomeを返すルート/にアクセスがあった場合にwelcomeを表示する、という処理が書かれている。resources/viewsディレクトリの中のwelcome.blade.phpを指しています。※参考:Laravelルーティングの基本とよく使われるルーティングパターン/resources/views/welcome.blade.php`を開く/resources/views/の中身を見てみるあった、welcome.blade.phpだけが入ってます。</body></html>ふい〜。「白い画面」の中身に相当するファイルにたどり着いた!省略したけどheadタグの中にCSSのスタイルも直で書かれていた。ファイル名にあるbladeはLaravel専用のテンプレートエンジン。}}で囲われた部分や、@が頭についたif文などがその書式にあたります。world」的な修正を加えてみます。Pageを追加(hogeはアプリ名)。さあ、どうだ?きた!変わったー。間違いなくこのファイルが「白い画面」ですな、はい。found)さて、.linksの中のメニューは基本的にlaravelオフィシャルの外部ページです。一つ目に下層ページ/subpageを設定してみました。found)と...。先ほどのroutes/web.phpを再度開き、/subpageの設定を追記します。view('subpage');});この時点ではまだ404のままです。(画面は少し変わりますが)/resources/views/subpage.blade.php`を作る/resources/views/の中にsubpage.blade.phpを作成します。(何度か、変更が反映されないことがありましたが、MAMPのサーバを停止、起動すると最新版になりました)最後にまだPHPフレームワークらしいテンプレートやデータベースみたいなコンテンツにはなっていないですが、ひとまずLaravelのファイル一式の中でどこが画面に表示されているファイルになっているかまでは理解できました。この先に進むにはMVC(モデル・ビュー・コントローラー)アーキテクチャの理解が必要とのことで、次回以降に取り組みたく思います。その先には懸案になっているオンライン上(Heroku)へのアップも控えています。CLIのプロジェクトを作ってみま...2019-06-13【Laravel】MVCのコントローラ(C)ことはじめ(3年B組金八先生を表示する!)Laravelの続きです。前回はルーティングファイルでページ生成、...2019-06-05【Laravel】ルーティングファイル(routesディレクトリのweb.php)にページを直書きし...Laravelの続きです。...2019-05-02Laravel元年!インストールしてMAMP環境で白い画面出す!!令和元年。はてなブログProフロントエンドエンジニア。神奈川に住まう四十路のオジキ。DTP→Webデザイナーから転向し今に至る。引き続きコツコツの日々。(24)リンクTwitterInstagramYoutubeCodePenGitHubPinterestQuolaFacebooknoteQiitaはてなブログをはじめよう!idr_zzさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。