--- robots: noindex, nofollow --- # Laravelの環境構築 # Laravelとは? 大規模システムで古くから実績のあるSymphonyというフレームワークをベースに作られたもの。 学習時間が短く済み、かつ大規模システムにも対応できるフレームワークとなっている。 # 構築手順 # 1. Composerをインストールする Laravelをインストールするにはまず『Composer』というPHPのパッケージ管理ソフトが必要になるため、Composerをインストールする。 ```bash= curl -sS https://getcomposer.org/installer | php ``` 続いて、ダウンロードしたファイルを『usr/local/bin』に移動させます。 ```bash= sudo mv composer.phar /usr/local/bin/composer ``` これで、``usr/local/bin/``内にComposerというファイル名で移動しました。ここまでくればいつでもComposerを呼び出す事ができます。 配置したComposerのパーミッション(アクセス権)を変更します。 ターミナルで$の後ろに以下のコマンドを実行して下さい。 ```bash= chmod a+x /usr/local/bin/composer ``` これでcomposerが実行できるようになりました。Composerの準備はこれで完了です。 そのままターミナルから「composer -V」を実行して見て下さい。Composerのバージョンが表示されれば、正常にインストールされています。 # 2. Laravelをインストールする Composerがインストールできたら、次はいよいよ皆様お待ちかねのLaravelのインストールに入っていきます。 これもターミナルから行います。 まずは以下のコマンドを実行してください。 ```bash= composer global require “larval/installer” ``` 環境変数PATHというものを設定する必要があります。これを設定しないとLaravelのコマンドが使えません。 ターミナル上で以下のコマンドを実行してください。 ```bash= export PATH="$PATH:~/.composer/vendor/bin" ``` あとは、そのパスを下記のsourceコマンドで有効にします。 ```bash= source ~/.bash_profile ``` これでLaravelがコマンドとして認識されるようになったはずです。 # 3. Laravelを使ってアプリの雛形を作る 実際にLaravelを使ってみましょう。 Laravelコマンドを入力します。 Laravelコマンドの使い方は ``` larvel new プロジェクト名 ``` です。laravel_sampleというプロジェクトを作ってみましょう。 ```bash= laravel new laravel_sample ``` ディレクトリが作成されるので、次にlaravelのバージョンを確認しましょう。 ```bash= php artisan --version ``` LaravelにはMAMPやXAMPPのようなWebサーバー機能も備わっているため、 下記でサーバーを起動してみる。 ```bash= cd laravel_sample ``` 移動したら続いて以下のコマンドを実行する。 ```bash= php artisan serve ``` ブラウザから以下のURLにアクセスする。 http://localhost:8000/ これでLaravelアプリケーションのトップページが表示される。 # 4. ディレクトリ構成 https://readouble.com/laravel/5.8/ja/structure.html ``` /app |- /Http |- /Controllers ・・・ MVCでいうC(コントローラー)ファイルの置き場 /config ・・・ アプリケーションの各種設定ファイル置き場 /database ・・・ マイグレーションと初期値設定(シーディング)のファイル置き場 |- /factories |- /migrations /public ・・・ アセット(画像、JavaScript、CSSなど)ファイルの置き場 /resources ・・・ ビューやアセットの元ファイル(LESS、SASS、JavaScript)を置く場所 |- /views ・・・ MVCでいうV(ビュー)のファイルを置く場所 /routes |- web.php ・・・ ルーティング用の設定ファイル /storage ・・・ コンパイルされたBladeテンプレート、ファイルベースのセッション、ファイルキャッシュなど、フレームワークにより生成されるファイルが保存される |- /logs ・・・ ログファイルの置き場所 ``` # 5. MySQLを使うように設定する 今回は、MAMPで入れたMySQLを使う。 ## 5.1 スキーマ(DB)を作成する MySQLのDB(mysqlではスキーマ=DB)をまず作成する。 MAMPでMySQLを入れていればphpMyAdminの管理画面でGUIで操作できるが、今回はコマンドラインからやってみる。 まずは、mampのコマンドは下記に入っているので、そこに移動する。 ```bash= cd /Applications/MAMP/Library/bin/ ``` mysqlコマンドを実行する ```bash= ./mysql -u root -p ``` パスワードを求められるのでデフォルトのままにしているのであれば`root`と入れてEnter。 `mysql>`が表示されれば接続完了。 DB(MySQLではスキーマ=DB)を一覧表示するには ```bash= SHOW DATABASES; ``` DBを作成するには ```bash= CREATE DATABASE データベース名; ``` 今回は、`laravel_sample`というDBを作っておく。 ```bash= CREATE DATABASE laravel_sample; ``` ## 5.2 パスを通しておく 毎回、作業ディレクトリを移動したり、`./mysql`と実行するのはめんどうなのでパスを通しておくといい。 `~/.bash_profile`をvimなどで開く。 ```bash= vim ~/.bash_profile ``` どこでもいいので、以下のコードを追加しておく。 ```bash= export PATH=$PATH:/Applications/MAMP/Library/bin ``` sourceコマンドで変更を反映させる。 ```bash= source ~/.bash_profile ``` ## 5.3 .envの修正 `.env`内に使用するMySQLの情報を修正していく。 ```bash= DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=データベース名 DB_USERNAME=ユーザー名 DB_PASSWORD=パスワード ``` 今回だと下記になる。 ```bash= DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_sample DB_USERNAME=root DB_PASSWORD=root ``` ## 5.4 config/database.phpの修正 ```php= <?php //ここはデフォルトでmysqlが指定されているのでそのまま 'default' => env('DB_CONNECTION', 'mysql'), ~~~~~~~ //connections配列の中にある、mysqlを修正していく 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', '.envに記載したデータベース名'), 'username' => env('DB_USERNAME', '.envに記載したユーザー名'), 'password' => env('DB_PASSWORD', '.envに記載したパスワード'), 'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'), ``` `DB_SOCKET`はmysql内の下記コマンドで場所が分かる(`socket`という項目が表示され、その右にパスが表示されている)ので、そのパスを入れる。 ```bash= SHOW VARIABLES LIKE '%sock%'; ``` 今回の場合だと下記になる ```php= <?php //ここはデフォルトでmysqlが指定されているのでそのまま 'default' => env('DB_CONNECTION', 'mysql'), ~~~~~~~ //connections配列の中にある、mysqlを修正していく 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'laravel_sample'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'root'), 'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'), ``` これでDBへの接続準備が完了。 # 5.5 デバッグ設定 Laravelではエラーや例外処理は既に設定済みのため、 DB接続する際にわざわざ書いていたtry,catchも必要ない。 アプリケーションエラー発生時にユーザーにどの程度の情報を表示させるかは、 `config/app.php`設定ファイルのdebug設定オプションで決定する。 デフォルト状態でこの設定オプションは、.envファイルで指定される`APP_DEBUG`環境変数の値を反映する。 本番UP時には必ずAPP_DEBUGはfalseにすること!! ``` APP_NAME=Laravel APP_ENV=local APP_KEY=base64:5D21FqMZNe+Ja+8h9VHwOgnKuQAkvjrUwngA/e5FurY= APP_DEBUG=true APP_URL=http://localhost ... ``` **falseにした場合** ![](https://i.imgur.com/rOEgFQw.png) **trueにした場合** ![](https://i.imgur.com/qm90RBP.png)