Laravel

【Laravel 8】新しいページを作る3ステップ

Laravel初心者

Laravelで環境構築はできた!
新しいページを作りたいな。。でも
Laravelの仕組みがわかってないからイメージが湧かないんだよな〜
どうしたら新しいページを作れるんだろー??

SUGAWAYA

そのような疑問は私が解決します!!

私は、現役エンジニアのSUGAWAYAです。

今回の記事では、わかりやすく3ステップで

新しいページの作り方を解説します。

それでは、一緒に手を動かして学んでいきましょう!!

新しいページを作る3ステップ

  1. blade.phpファイルを作る
  2. controllerを作成する
  3. ルーティングを設定する

上記の3ステップで新しいページができます!

具体的に詳しく解説します。

1、blade.phpファイルを作る

resources/views/新しいページ用のbladeファイル

といった感じに任意の名前でblade.phpファイルを作成してください。

今回は例として3つのblade.phpファイルを作ります。

  1. home.blade.php
  2. about.blade.php
  3. contact.blade.php

2、controllerを作成する

下記のcontroller作成コマンドをLaravelの作業ディレクトリで実行してください。

php artisan make:controller コントローラ名

今回はPageControllerを作るので以下のコマンドを実行します。

php artisan make:controller PageController

すると

app/Http/Controllers/PageController.php

といった感じでControllersディレクトリの下にPageController.phpが作成されました。

中身を見てみましょう。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PageController extends Controller
{
    //
}

上記を編集して下記にします。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PageController extends Controller
{
    public function home(){ 
        //bladeファイルの名前 (home.blade.phpの場合)
        return view('home');
    }

    public function about(){ 
        //bladeファイルの名前 (about.blade.phpの場合)
        return view('about');
    }

    public function contact(){ 
        //bladeファイルの名前 (contact.blade.phpの場合)
        return view('contact');
    }
}

上記の関数3つそれぞれは、Viewファイルを呼びだす記述をしています。

3、ルーティングを設定する

routes/web.phpを開いてください

中身は以下のようになっていると思います(初期段階)

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

上記を編集して以下のようにしてください。

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

// Route::get('/', function () {
//     return view('welcome');
// });

//使いたいControllerをuse
use App\Http\Controllers\PageController;

//getでhttp://xxx.com/ にアクセスした時にPageControllerのhome()にアクセスする
Route::get('/', [PageController::class, 'home'])->name('home');

//同様にあと二つ
Route::get('/about', [PageController::class, 'about'])->name('about');
Route::get('/contact', [PageController::class, 'contact'])->name('contact');

ここまで作業しましたら、実際に指定したルーティングにアクセスしてみましょう。

例のURLは以下です

  • http://localhost:8888/
  • http://localhost:8888/about
  • http://localhost:8888/contact

上記のURLに接続しますと、いずれも真っ白だと思います。

これはblade.phpファイルに何も記述がないからです。

では、何か表示させてみたいと思います。

例えば、home.blade.phpのにHelloと出してみたいと思います。

エディターでhome.blade.phpを開いてください

開きましたら下記を記述してhttp://localhost:8888/に接続してください。

<h1>Hello</h1>

Helloの文字が出ましたでしょうか?

でたら大成功です!!!

お疲れ様でした!

まとめ

今回は基本的な新しいページの作り方を紹介しました!

もし内容がわからないという場合は、何らかの前提知識が足りていない可能性があります。

わからないーどうしようと悩まなくても大丈夫ですよ。

僕も同じ道を通りました。

そんな時活用すべきことは以下の三つです

  1. 近くにエンジニアがいるなら聞いてみる
  2. MENTAを活用する
  3. Udemyで動画学習する
  4. プログラミングスクールを受講する
  5. WEB制作会社に就職する

上記5つのうちどれかを選択して技術を養う他ありません。

特におすすめなのが、プログラミングスクールを受講することです。

プログラミングスクールなら基礎から学べてしかも就職や転職もお世話してくれます。

僕は、工場勤務からエンジニアに転職した経験がありますので、その経験からプログラミングスクールをおすすめしています。

おすすめのプログラミング教室のまとめも作りましたのでご覧ください。

千里の道も一歩から!頑張りましょう!