3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Masoniteでブログを作るチュートリアル②(認証とMigration)

Posted at

Masonite


Masonite自体の紹介はこちらの記事が大変参考になります

この記事は公式チュートリアル の通りに進めていきます.
公式チュートリアル以上の情報はありません.
サクッとキャッチアップしたい人向けの日本語訳的な位置づけです.

前回までの実装

  1. Masoniteでブログを作るチュートリアル①(ブログ的Hello World)

今回の範囲

  1. 認証の作成
  2. DBのコネクション設定
  3. migration

認証の作成


ユーザーの新規登録、パスワード再設定、ログイン、ログアウトなど一般的なユーザー管理のController、Model、Viewを作り込む必要があります。

Laravel などには php artisan make:auth コマンドがありますね。

もちろんMasoniteにもあります。だってインスパイアされてますもん。

Tip!! さくっと始めたいですか? インストールしたてのMasoniteアプリケーションにて、craft authとcraft migrateを実行するだけです。それから、ブラウザで
http://localhost:8000/register へアクセスしてください。この2つのコマンドが、認証システム全体のスカフォールドを面倒みます。

Laravelのドキュメント

本当にこれだけです。

しかし、そういえばmigrateするDBを設定していませんでした。

DBのコネクション設定


ローカル環境に MySQL や Postgres があるならばそちらにセットアップした方がいいでしょう。

しかし、無くても開発をすすめることはできます。SQLiteがあります。

それでは、.env をSQLite用に編集しましょう。

デフォルトではMySQLを使用する設定になってます

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=masonite
DB_USERNAME=root
DB_PASSWORD=root

これをSQLite用に書き換えます

DB名はblog.dbにしておきます

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog.db
DB_USERNAME=root
DB_PASSWORD=root


さて、これでmigrateする準備が整いました

Migrating


migration実行はcraftコマンドから行います。

$ craft migrate


このマイグレーション実行により、usersテーブルとmigrationsテーブルが作成されるはずです。

終わりに


さて、認証が実装できたかを確かめてみましょう

$ craft serve

​で、開発サーバーを立ち上げて、http://localhost:8000/register にアクセスします。

すると、登録画面が表示されるので登録しましょう(なんでもいいです)

Username: demo
Email: demo@email.com
Password: password


さぁログアウトしたり、ログインしたり、パスワードを忘れてみたり、、

いろいろと試してみましょう。

次回は、Modelのリレーションをやっていきます。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?