タイトル: 必ずやることリスト&おすすめ設定
本稿はLaravelプロジェクト作成においてやるべきことをリストアップします。
※個人的なメモのようなものなので参考程度に
※Laravelのバージョンは5.5を対象とします。
※DBはMySQLを前提とします。(違うDBの場合は読み替えてください)
※Laravelが初めての場合はこちらを参照。
プロジェクト作成
composer create-project laravel/laravel --prefer-dist プロジェクト名 |
データベースの作成
※MySQLの導入についてはこちらを参照
create database database_name; |
DBユーザーの作成
GRANT ALL PRIVILEGES |
.envファイルのDB設定
DB_CONNECTION=mysql |
マイグレーションによるカラム定義変更に必要なパッケージのインストール
マイグレーション機能を使用するなら必須。
composer require doctrine/dbal |
認証システムの導入
Laravelが用意してくれるログイン機能を使用したい場合は必要。
php artisan make:auth |
マイグレーションの注意点
デフォルトで以下のマイグレーションファイルがある。
・yyyy_mm_dd_000000_create_users_table
・yyyy_mm_dd_100000_create_password_resets_table
Laravelの認証システムを導入する場合は上記の2ファイルは必要。
導入しない場合はファイルを削除して次の項目へ読み進めること。
導入する場合、このままマイグレーションするとエラーが出るので要注意・・・。
エラーはキーに指定しているカラムがバイト数オーバーしているという内容。
usersテーブルのemailを以下のように修正。
$table->string('email')->charset('utf8')->unique(); |
password_resetsのemailを以下のように修正。
$table->string('email')->charset('utf8')->index(); |
以下のコマンドを実行してテーブルを作成。
php artisan migrate |
各種ディレクトリの作成
以下は任意。お好みで。
「app」ディレクトリ直下に以下のディレクトリを作成する。
リポジトリー:「Repositories」ディレクトリを作成。
モデル:「Models」ディレクトリを作成。
Util:「Utils」ディレクトリを作成。
ビジネスロジック:「Services」ディレクトリを作成。
定数ファイルの作成
「config」ディレクトリ直下に「const.php」ファイルを作成する。
内容はとりあえず以下の通り。
<?php return [ |
独自定義用のcss、jsファイルの作成
ファイル名は任意。
とりあえず以下のファイルを作成。
css:public/css/common.js
js:public/js/common.js
画像格納用ディレクトリ・および必須画像の作成
「public」ディレクトリ直下に「img」ディレクトリを作成。
また、ブラウザのタブ、スマホのブックマークで使用する画像を作成して格納する。
ファイル名は任意だが、とりあえず以下の通りにすること。
ブラウザ用:favicon.ico
スマホ用:sm_ico.png
※画像作成に時間がかかると思われる&後で作成したいケースがあると思うので、とりあえず適当な画像を用意すればよい。
レイアウトの改良
ページタイトルを設定しやすいように&先ほど作成したcss, jsファイルの読み込みを追記。
resources/views/layouts/app.blade.php
<head>を以下の内容にする。
<head> <!-- CSRF Token --> <title>@yield('title1'){{config('app.name')}}@yield('title2')</title> |
ビューの改良
ページタイトルを設定しやすいように改良。
以下のサンプルファイルを作成して、ビューはサンプルファイルをコピーして作成するようにすると便利。
resources/views/sample.blade.php
@extends('layouts.app') @section('title1') @section('title2') @section('content') |
「@section('title1')」にタイトルを記載するとアプリ名の前に任意のタイトルを付与することができる。
「@section('title2')」にタイトルを記載するとアプリ名の後に任意のタイトルを付与することができる。
トップページの用意
デフォルトではLaravelの画面が表示されてしまうので適当なものを用意する。
先ほど作成したsample.blade.phpをコピーして以下のファイルを作成する。
resources/views/index.blade.php
内容は任意。とりあえず適当に。
コントローラーを作成するので以下のコマンドを実行する。
php artisan make:controller IndexController |
コントローラークラスの内容を以下のように修正
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class IndexController extends Controller |
ルーティングに以下の一文を追加。
/routes/web.php
Route::get('/', 'IndexController@index'); |
とりあえず以上。
随時追記。