Laravelでプログラム写経用のローカルシステムを構築しよう

Laravelでプログラム写経用のローカルシステムを構築しよう

こんばんは、のるぼるのんです。

新しい言語を勉強する時とかって、教本を見ながら実際に手を動かしてとりあえず書いてみる、いわゆる写経をすると思います。

でも実際に写経したプログラムを、Webページとして表示させたりするのって、LAMPの環境構築だったりVhosts書いたり、URLを打ち込むのが地味に面倒だったりしますよね。

今日はそんな面倒な所をLaravel artisanでやってみよう、っていうお話。今回のターゲット層は自分と同じように勉強中の人。長くなりますがLaravelの再確認も兼ねて、ごゆっくり見ていってください。

 

前準備 Laravelの導入

こちらの記事で紹介しています。

Laravel5.7に管理画面マネージャー「Voyager」を導入する

composerの導入からLaravel, 管理画面マネージャーVoyagerの導入まで紹介しています。

データベースに接続しない演習の時はMySQLなどの環境構築は不要ですので、PHP, composerの導入、Laravelの導入をすればすぐに始められます。

MySQLなどの環境構築は、また別のサイトをご確認ください。

では実際にやっていきましょう。

 

ルーティングを再確認

まずはLaravelのルーティングを再度確認していきましょう。

Laravelプロジェクトを導入した直後のルーティングはこうなってます。

 

web.php

artisanコマンドからserveを叩いて、仮想環境を構築、http://localhost(:8000)にアクセスすると、ページが表示されます。

http://localhost(:8000)にアクセスすることで、/にアクセス、結果welcome.blade.phpの内容が表示されます。

 

コンソール

 

 

コントローラーを準備し、ルーティングを変えていきましょう。

コンソール

web.php

コンソールからartisanコマンドでコントローラーを作成し、ルーティングでコントローラーを経由します。

この段階でhttps://localhost(:8000)にアクセスすると、コントローラーにindexメソッドがないよ、というエラーが表示されます。

 

元のルーティングと同じようにwelcome.blade.phpを表示させましょう。

PlacticeController.php (作成したコントローラーを編集します)

 

これでLaravelを構築した時と同じようにwelcome.blade.phpが表示されます。

 

さあ、それでは本題に入りましょう。

 

数字で名前をつける時

演習問題とかでよくあるパターンの時ですね。1.htmlとか1.phpみたいなやつです。

やってる演習まで(ファイルを用意した所まで)連番で配列を準備してリンクを作成、ページを表示する感じですね。

今回はLaravelを使用しているので、Bladeを使用することにご注意ください(ファイル拡張子が.phpなどから.blade.phpに変わります)。

まずはビューを5つほど位準備します。

コンソール

 

PlacticeController.phpおよび、welcome.blade.phpを編集します。

PlacticeController.php

$page = 1で、連番の最初を指定。$arrayで配列を宣言。

while (view…)で、resources/views/placticesディレクトリの中に1.blade.php〜が存在すれば、配列に数字を追加、無ければ繰り返し終了です。

後はreturnでビューを表示して、compactでビューに変数を渡します。

 

welcome.blade.php

welcome.blade.phpの最後らへん、aタグがたくさんある部分を編集します。

@forelse ($array as $value)で、$arrayのなかにデータが存在するときにforeachを回し、各ページへのリンクを作成。

@emptyでデータが存在しない時の処理をします。

 

リンクが変わりました。このリンクから各ページにアクセスします。

 

web.php

PlacticeController.php

 

PLACTICE1にアクセスすると、/1 にアクセスします。web.php内で/{pageID}とすることで、detailメソッドの$idに1が渡されます。

PlacticeComtroller.php、detailメソッドでは、if 文内で/resources/views/plactices/1.blade.phpがあればそちらに移動、無ければwelcome.blade.phpに戻ります。

 

真っ白の画面は表示されましたか?今回はbladeファイルにファイル名のみ記述し表示しました。表示されたら、後はbladeファイルにガシガシ写経していきましょう!

 

bladeの名前を取得して、表示させる

実際の写経では、1.htmlなどより、hello.htmlなど、名前が付いている場合のが多いですね。

今度は名前を取得して、そちらにアクセスしてみましょう。/reources/views/plactices/内にhello.blade.phpを準備しましょう。

 

web.php

内容はほぼ変わりませんね。/{pageId}が、今回の実情に合わせて/{name}に変わったくらいですね。

 

PlacticeController.php

 

こんな感じでhello.blade.phpにもアクセス出来るようになりました!

写経における環境構築、一回やってしまえば後はファイル作成のみでいけるので、長く使えそうかも、と思っています。便利に感じる人もちらほらいて欲しいな。

まあLaravelのルーティングの勉強も兼ねて、ちょっとやってみてください。

 

ちなみに

ちなみにこの方法、FTPなどでファイルをあげて記事へのリンクを記述して〜みたいなのが、ファイルアップロードのみで完結します。ニュースサイトみたいなのでも使えると思うので、ぜひご確認を。

 

Laravelカテゴリの最新記事