Laravel チートシート

開発環境の準備UIMySQL

AWS Cloud9 Linux2の設定

参考:yamazakidaisuke/laravel_book

参考:「 動かして学ぶ!Laravel開発入門 」Amazon Linuxが選択できない場合!→ Amazon Linux2環境構築 ※補足動画

AWS 環境「Create environment」

  • EC2 [ t2.micro ] デフォルト設定
  • Amazon Linux2
Elastic Beanstalkでデプロイしたい場合、Linux2を選択しなければならない。

PHPセットアップ

$ sudo amazon-linux-extras install php7.2=stable
$ sudo yum install php-mbstring php-pecl-memcached php-gd php-apcu php-xml

MaryaDB 構築

$ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2

MariaDBのインストール

$ sudo yum install -y mariadb-server

Apache, MariaDBの起動

$ sudo systemctl start mariadb
$ sudo mysql_secure_installation

MaridaDBの自動起動を有効化

$ sudo systemctl enable mariadb
$ sudo systemctl is-enabled mariadb

Composerインストール

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/bin/composer
composer

Laravelインストール

アプリケーション名をcmsとする場合。

composer create-project laravel/laravel cms 6.* --prefer-dist

アプリケーションのディレクトリに移動

cd cms

.env設定

.env(ファイル内の同じ箇所を上書き)

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=c9
DB_USERNAME=root
DB_PASSWORD=root

 [.env] 設定を変更したら必ずWebサーバーを再起動する

#Webサーバー止める
[ Ctl + C ]キーでWebサーバーを止めます。
——
#Webサーバー起動(.envの再読み込み!)
php artisan serve –port=8080
——-

Composerをアップデート

$ sudo composer update

サーバー起動して確認

$ php artisan serve --host=$IP --port=$PORT

データベース「c9(.envで設定した任意のDB名)」を作成

mysql -u root -p
root [Enterキー]
create database c9;
exit;

laravel/ui(ユーザー管理)

モジュールの導入(laravel/ui)

$ composer require laravel/ui "^1.2"

導入したモジュールの展開

$ php artisan ui vue --auth
$ npm install
$ npm run dev

※ npmから始まるコマンドはVue.js用のコマンド
※ public/css/app.css と public/jp/app.js が生成される。

エラーになる場合以下を試す
$ npm uninstall --save-dev sass-loader
$ npm install --save-dev sass-loader@7.1.0

app/Http/Middleware/TrustProxies.phpの修正

app/Http/Middleware/TrustProxies.php

<?php

namespace App\Http\Middleware;

use Fideloper\Proxy\TrustProxies as Middleware;
use Illuminate\Http\Request;

class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array|string
*/

protected $proxies = '**';

/**
* The headers that should be used to detect proxies.
*
* @var int
*/
protected $headers = Request::HEADER_X_FORWARDED_ALL;
}

動作確認

$ php artisan serve --host=$IP --port=$PORT

※ プレビューする

MySQL

※ MaryaDB(≒MySQL) 構築は済んでいる

MySQLのユーザー作成

※ 保留

MySQLへログイン

$ mysql -u root -p

繋がらない場合

$ mysql-ctl start

MySQLの操作

現在のDBの確認
mysql> show databases;
DBの切り替え
mysql> use データーベースの名;
テーブルの情報確認
mysql> show tables from データベース名;
テーブルの確認
mysql> select * from テーブル名;
カラム(項目)の情報確認
mysql> SHOW COLUMNS FROM テーブル名 FROM データベース名;

※ 作成中