AUTOVICE

TECH BLOG

Laravelプロジェクト作成から初めに行うべき設定まとめ

2020-03-04

はじめに

Laravelプロジェクトを作成する方法と、初めに行うべき設定(DB設定や日本語化など)をまとめました。

環境

  • macOS Catalina 10.15.3
  • PHP 7.3.11
  • Composer 1.9.3
  • Laravel 6.17.1

プロジェクト作成

ターミナルで以下のコマンドを実行します。

$ composer create-project laravel/laravel --prefer-dist sample
Installing laravel/laravel (v6.12.0)
  - Installing laravel/laravel (v6.12.0): Loading from cache

...

Application key set successfully.

--prefer-distについて

--prefer-distは、Laravelを圧縮(zip形式)してダウンロードするためのオプションになります。--prefer-distを指定しないと、Laravelを圧縮せずにダウンロードするためダウンロード時間が長くなります。

なお、--prefer-sourceというオプションもあって、これはオプションを指定しない場合、つまりLaravelを圧縮せずにダウンロードするオプションです。

  • --prefer-source:Laravelを圧縮せずにダウンロード(ダウンロード時間が長い)
  • --prefer-dist:Lavavelを圧縮してダウンロード(ダウンロード時間が短い)

Command-line interface / Commands - Composer

DB設定

今回は最も手軽なSQLiteを使用します。

設定ファイル変更

.envを以下のように設定します。

# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
DB_CONNECTION=sqlite

DBファイル作成

ターミナルで以下のコマンドを実行します。

$ sqlite3 database/database.sqlite
sqlite> .table
sqlite> .q

解説

config/database.phpの38〜44行目あたりにSQLiteに関する設定があります。

        'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

DBの設定ファイルは以下の行で設定しています。

'database' => env('DB_DATABASE', database_path('database.sqlite')),

envメソッドは.envファイルから第1引数で指定した設定を取得します。第1引数で指定した設定が見つからなかった場合は、第2引数で設定したデフォルト値が適用されます。

今回は.envDB_DATABASEは設定していないので、第2引数で指定したデフォルト値が適用されています。

日本語化

Laravelの日本語化を行います。

プロジェクト全体

config/app.phpを以下のように設定します。

'locale' => 'ja',
'fallback_locale' => 'en',

fallback_localeは、localeの設定値がない場合に適用される設定です。

タイムゾーン

config/app.phpを以下のように設定します。

'timezone' => 'Asia/Tokyo',

メッセージファイル

下記のリポジトリをローカルにコピーし、ファイル群をプロジェクトにコピーします。

sutara79/demo-laravel-crud: My practice for basic CRUD of Laravel5 on Heroku.

$ cd ~/Products
$ git clone https://github.com/sutara79/demo-laravel-crud.git
$ cp -rp demo-laravel-crud/resources/lang/ja/. sample/resources/lang/ja/
$ cp -rp demo-laravel-crud/resources/lang/ja.json sample/resources/lang/

下記のリポジトリでも提供されています。こちらは日本語以外の多言語にも対応しています。

caouecs/Laravel-lang: List of 73 languages for Laravel 5 and Laravel 6

初期ページ削除

残しておいても問題ありませんが、気になる人は削除しておきましょう。

ルート情報

routes/web.phpを以下のように設定します。

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

削除してしまうとページが見つからなくなってしまうので、とりあえず適当な文字列を返すようにしておきます。先にコントローラーやビューを作成してそれらを設定しても大丈夫です。

ビュー

resources/views/welcome.blade.phpを削除します。

バージョン管理

GitとGitHubを使用します。

リポジトリ作成

下記のページを参考にしてリポジトリを作成します。

リポジトリを作成する - GitHub ヘルプ

初期設定

ターミナルで以下のコマンドを実行します。

$ git init
$ git remote add origin https://github.com/xxxxx/yyyyyyy.git

コミット

ローカルで変更が発生したときは、ターミナルで以下のコマンドを実行します。

$ git add .
$ git commit -m "Commit message"
$ git push origin master

.gitignore

.gitignoreは初めから用意されています。初期設定は以下の通りです。

/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log

まとめ

最低限、これだけは行っておいたほうがいい設定をまとめてみました。Laravelは勉強し始めて間もないですが、これからLaravelに関する記事を投稿していきたいと思っています😄