はとのーと

エジソンノート(アイデア、思い付き、メモ)として使っています。誰かの役に立つかもしれないので公開しています。

Laravelについてのメモ

(2019-10-09更新)

忘れやすいので自分用にメモしています。

目次:

参考資料

命名規約

PSR-2スタイル。

参考: Laravelの命名規約(または命名法則)|プログラムメモ

プロジェクトを開始する

composer create-project --prefer-dist laravel/laravel my_app_name

他のプロジェクトをクローンして開始する

vendorが無いのでgit clone後にcomposer installでcomposer.lockに従って必要なファイルをインストールする。

git clone プロジェクトURL
composer install

その後.env.exampleをコピーして.envを作成する。

内蔵サーバーを起動する

php artisan serv

http://localhost:8000/ にアクセスするとLaravelの画面が表示される。

データベース設定

config/database.phpの以下の行で使用するデータベースを選択する。

<?php
...
'default' => env('DB_CONNECTION', 'mysql'),

データベースサーバーやデータベース名などはそれ以降の行で環境変数を参照する形で定義されている。 環境変数は .env ファイルで設定する。

<?php
...
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

テーブル名

テーブル名は複数形とし、スネークケースとする。

例: articles, published_books

モデル

モデルはテーブル名の単数形とし、パスカルケースとする。

テンプレートを作成する。

php artisan make:model Article
php artisan make:model PublishedBook

モデルは app 以下に作成されるので app/Models に作成したい場合はModelsディレクトリを作成し、ディレクトリ名を指定する。

php artisan make:model Models/Article
php artisan make:model Models/PublishedBook

モデルはEloquentORMを使ってデータベースと対話できる。

参考: LaravelのEloquentORMの基本から具体的な使い方(モデルを使ったDB操作)

コントローラ

コントローラは名前の単数形+Controllerで、パスカルケースとする。

テンプレートを作成する。

オプション:

  • --api - RESTfulなコントローラを作成する
  • --resource - Resourcefulなコントローラを作成する
php artisan make:controller SampleController
php artisan make:controller SampleController --api
php artisan make:controller SampleController --resource

コントローラは app/Http/Controllers 以下の階層に作成されるのでサブディレクトリに入れたい場合はディレクトリを作成し、ディレクトリ名を指定する。

mkdir app/Http/Controllers/Api
php artisan make:controller Api/SampleController

ルーティングを確認する

php artisan route:list