0
0

More than 3 years have passed since last update.

laravel新規プロジェクト環境設定+認証機能

Posted at

Laravel新規プロジェクト作成(laravel7)

まずは、ターミナルで以下のコマンドを打ってプロジェクトを作成していく。

$ composer create-project "laravel/laravel=7.*" <プロジェクト名>

次はpostgresでDBを作成(postgresインストール済みとする)

//ログイン
psql -d postgres

//DB一覧
\l

//DB作成
# create database DB名;
//CREATE DATABASE と表示されたらOK

次に.envファイルの編集

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=先ほどpostgresで作成したDB名
DB_USERNAME=postgres
DB_PASSWORD=

php artisan migrate を実行

$ php artisan migrate

postgresにusersテーブルが作られているか確認。
*Laravelをインストールした時に最初からあるはずのcreate_users_table.phpとcreate_password_resets_table.phpを元にテーブルが作られる。

//DB接続
myproject-# \c データベース名

テーブル一覧
myproject-# \d 

                 List of relations
 Schema |        Name        |   Type   |  Owner
--------+--------------------+----------+----------
 public | failed_jobs        | table    | postgres
 public | failed_jobs_id_seq | sequence | postgres
 public | migrations         | table    | postgres
 public | migrations_id_seq  | sequence | postgres
 public | password_resets    | table    | postgres
 public | users              | table    | postgres
 public | users_id_seq       | sequence | postgres

確認できればOK!!

認証機能

次はusersテーブルにちゃんとデータが入るか確認する。
Laravel6.0以降からmake:authコマンドが使用できなくなり、laravel/uiをインストールする必要があるため下記のコマンドを打つ

$ composer require laravel/ui:^2.4
$ php artisan ui vue --auth

これで画面右上に認証機能が追加された。
しかし認証画面へ遷移するとスタイルが崩れてしまっている。
原因はsass/app.scssが反映されてない(コンパイル)ので下記のコマンドを打つ

$ npm install 
$ npm run dev  

これでスタイルが修正された。

ちゃんとDBに接続されているか実際に呼び出してみる

viewsファイルに新しくindex.blade.phpを作成

<div>
    <h1>{{$users->name}}</h1>
</div>

次にControllerの作成

$ php artisan make:controller HelloController 

HelloController.phpに下記を追記

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

// Userの情報をとってくるため追記
use App\User;
use Auth;

class HelloController extends Controller
{
    public function index(){
        // 認証済みのユーザーのデータを$usersに格納
        $users = Auth::user();
        return view('index',compact('users'));
    }
}

web.phpにroteを追加

<?php

use Illuminate\Support\Facades\Route;


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

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

//追記
Route::get('/index', 'HelloController@index')->name('index');

これで下記のURLにアクセスして登録したuser名が表示されていれば多分OK!!
http://127.0.0.1:8000/index

0
0
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
0
0