Laravelの基本はこちらから学べます

Laravel8で掲示板を作成する①(ログイン機能)




こんにちは。先日Laravel8がリリースされましたね。普段の業務では5.8を利用していますが今回はLaravel8を触ってみます。

ということで、早速やっていきましょう。

Laravel8とMAMPで作成していきます。

また、フレームワークLaravelでの開発が初めてだよ。
という方は、まずは基本の下記リンクから学習を進めることをオススメいたします

まずはinstallしていきましょう。

作業ディレクトリにて

bash

% composer create-project --prefer-dist laravel/laravel blog8

% cd blog8

% php artisan serve
Starting Laravel development server: http://127.0.0.1:8000

http://127.0.0.1:8000 にアクセスすると。。

かっこいいですねwダークモード風というか、目に優しい色になりました。

ではまず、LaravelとMAMPの接続をしていきましょう。
ここからは、blog8をエディタで編集していきます。

.env 

APP_NAME=blog8 //変更

DB_DATABASE=blog8 //変更
DB_USERNAME=root
DB_PASSWORD=root

DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock //追加

接続するデータベース名を「blog8」とし(まだDBは作成してません)、MAMPのMySQLに接続するように環境変数を記入しました。

.envを変更したらキャッシュを消しておきましょう

bash
% php artisan config:cache

DBを作成していきましょう。


まずはMAMPを起動します。以下のようにApache Server と MySQL Server が緑色に点灯していればOK。

MAMPのMySQLにログインし、DBを作成していきましょう。

bash

% mysql -u root -p
パスワードが聞かれたら、root

mysql> create database blog8;

mysql> exit

ここでコマンドでエラーが出た場合は以下の記事の「2. MAMPで開発環境を整える。」をみてみましょう。PATHを通す必要があります!

PHP×MAMPでHigh&Lowゲームを作ろう(1) | Aburasobalog

時間設定を日本にしよう

Laravelの時間設定を日本時間にしていきましょう。

config/app.php

'timezone' => 'Asia/Tokyo', //変更

'locale' => 'ja', //変更

ログイン機能

ではではログイン機能をつけていきましょう。
Laravel8からは Laravel Jesstream が使えるようになり、より美しいUIのアプリケーションを作れるようになりました!(勉強コストが上がった….)

https://readouble.com/jetstream/1.0/ja/introduction.html

上記のドキュメントを読むと、Laravel Jetstreamはフロントエンドスタックとして2つの選択肢を提供し、我々が選ばなければならないことが分かりますね。

Livewire+Blade か Inertia.js+Vue から選択をしますが、Vue.jsをバリバリに書きたい方以外は、前者の方が無難なようです。

ひとまず、私はLivewire+Blade で開発してみようかな

Laravel Jetstream

では実際にインストールしてみましょう。

bash

% composer require laravel/jetstream

% php artisan jetstream:install livewire

% npm install && npm run dev

また、Laravelが用意しているマイグレーション を実行しておきしょう(作成したDBにテーブルを作成します)。

bash
% php artisan migrate

では http://127.0.0.1:8000 にアクセスしてみましょう。右上にログイン、レジスターボタンが出現しているはずです。

ログイン画面
ログイン後

なるほど、Laravel7までと全然違いますね。かなりいけてる雰囲気。

今回はログインまで設定していきました。次回からは、掲示板を作成しLaravel8を触っていきましょう!




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です