[前提]
※1 homebrewが既にインストールされている
※2 DBはMySQLを使用する
Composerのインストール
Railsでいうgemみたいなパッケージ管理ツールであるComposerをインストールし
ComposerからLaravelをインストール
インストール
$ brew install composer
確認
$ brew info composer
Laravelインストーラのインストール
Composerを利用しインストール
$ composer global require "laravel/installer"
Laravelのインストーラのパスが「$HOME/.composer/vendor/bin」に作成されるので
ここにパスを通す。
~/.bash_profile
export PATH="$PATH:$HOME/.composer/vendor/bin"
.bash_profileの再読込
$ source ~/.bash_profile
確認
$ laravel --version
Laravelで新規プロジェクトの作成
新規プロジェクトを作成したディレクトリに移動し、
そのディレクトリ内で、以下のコマンドでプロジェクトを作成
$ laravel new test_app
※composer経由でインストールする方法もあるが、こちらのほうが覚えやすい。
インストール 5.8 Laravel
しばらくすると、test_appディレクトリが作成され、その中に全てがインストールされるので
test_app内へ移動し、以下のコマンドでWebサーバーを起動させる
$ cd test_app
$ php artisan serve
そしてブラウザで「http://127.0.0.1:8000」にアクセスし、Laravelのトップページが表示されればインストール成功
またLaravel自体のバージョンを確認するには以下のコマンド
$ php artisan --version
各種設定
言語と時刻の設定
config/app.phpで設定
'timezone' => 'Asia/Tokyo', ... 'locale' => 'ja',
DB接続設定
アプリ用のデータベースを予め作成しておく。
※ここでは「test_db」を作成しておく。
ルートディレクトリにある「.env」の以下を編集
※ユーザ名とパスワードは任意
DB_DATABASE=test_db DB_USERNAME=root DB_PASSWORD=password
後は以下のコマンドを流して、エラーがでなければOK
$ php artisan migrate
[参考]
Mac OSにLaravelローカル開発環境構築 - Qiita
macOSに Laravel 5.6 をインストールする手順をまとめてみる - Qiita
Laravel ローカル環境構築(for XAMPP) - Laravel学習帳
デバック用ツール(laravel-debugbar)のインストール
インストール
$ composer require barryvdh/laravel-debugbar
config/app.phpの編集
'providers' => [ ... Barryvdh\Debugbar\ServiceProvider::class, ... ], ... 'aliases' => [ ... 'Debugbar' => Barryvdh\Debugbar\Facade::class, ... ],
ルートディレクトリの.envを編集
APP_DEBUG=true
キャッシュをクリア
$ php artisan config:cache
ブラウザで127.0.0.1:8000にアクセスし、ブラウザ下部にデバックバーが出ればOK
アプリ作成の基本
基本的には以下の流れ
1)artisanコマンドでモデル、コントローラ、マイグレーションファイルを作成
2)マイグレーションの定義を記述し、migrate
3)モデルを作成
4)ルーティング設定
5)コントローラとVIEW(resources)を紐づけ
6)画面表示及びデバッグ
モデル作成は以下のサイトを参考に1行ブログを作成するときの例
Webアプリ開発入門 Laravel編のレッスン一覧 | プログラミング学習サービス【paizaラーニング】
1)記事を保存するテーブル作成のためのmigrationファイル
2)記事情報にCRUDに関するDB操作を行うためのmodelファイル
3)モデルにアクセスするためにリクエストを行うcontrollerファイル
を以下のコマンドで一気に作成。
$ php artisan make:model Article -m -c -r
- m ... migrationも同時作成
- c ... controllerも同時作成
- r ... controllerを作成する場合、CRUD用のアクションもコントローラ内に作成される
ルーティングはこんな感じ。以下ではリストページと詳細ページを作成し
後でリンクで呼び出せるように、name関数を使用している。
routes/web.php
Route::get('/articles', 'ArticleController@index')->name('article.list'); Route::get('/article/{id}', 'ArticleController@show')->name('article.show');