2.

必ずやることリスト&おすすめ設定

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

本稿はLaravelプロジェクト作成においてやるべきことをリストアップします。

※個人的なメモのようなものなので参考程度に

※Laravelのバージョンは5.5を対象とします。

※DBはMySQLを前提とします。(違うDBの場合は読み替えてください)

※Laravelが初めての場合はこちらを参照。

 

プロジェクト作成

composer create-project laravel/laravel --prefer-dist プロジェクト名

 

データベースの作成

※MySQLの導入についてはこちらを参照

create database database_name;

 

DBユーザーの作成

GRANT ALL PRIVILEGES 
ON database_name.* 
TO user_name@localhost 
IDENTIFIED BY 'password';

 

.envファイルのDB設定

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=user_name
DB_PASSWORD=password

 

マイグレーションによるカラム定義変更に必要なパッケージのインストール

マイグレーション機能を使用するなら必須。

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 [
    'const1' => '定数1',
    'const2' => '定数2',
];

 

独自定義用の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

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <!-- CSRF Token -->
        <meta name="csrf-token" content="{{ csrf_token() }}">

        <title>@yield('title1'){{config('app.name')}}@yield('title2')</title>

        <!-- Styles -->
        <link href="{{ asset('css/common.css') }}" rel="stylesheet">

        <!-- Scripts -->
        <script src="{{ asset('js/common.js') }}"></script>

        <!-- ファビコン -->
        <link rel="shortcut icon" href="{{ asset('img/favicon.ico') }}">
        <link rel="icon" type="image/vnd.microsoft.icon" href="{{ asset('img/favicon.ico') }}">
        <!-- スマホブックマークアイコン -->
        <link rel="apple-touch-icon" href="{{ asset('img/sm_ico.png') }}"/>
    </head>
    <body>
        <div id="app">
            <div>@yield('content')</div>
        </div>
    </body>
</html>

 

ビューの改良

ページタイトルを設定しやすいように改良。

以下のサンプルファイルを作成して、ビューはサンプルファイルをコピーして作成するようにすると便利。

resources/views/sample.blade.php

@extends('layouts.app')

@section('title1')
@stop

@section('title2')
@stop

@section('content')
@endsection

 

「@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
{

    public function index()
    {
        return view('index');
    }

}

 

ルーティングに以下の一文を追加。

/routes/web.php

Route::get('/', 'IndexController@index');

 

 

とりあえず以上。

随時追記。

 

子ページ
子ページはありません
同階層のページ
  1. Laravelのインストール(プロジェクトの作成)
  2. 必ずやることリスト&おすすめ設定
  3. 設定
  4. Webサーバの設定
  5. メールの環境設定

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。