演習課題「Laravelのアプリケーションディレクトリを作成する」
右の環境に、Laravelを使って、以下のアプリケーションディレクトリを作成してください。
mydiary
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバを起動し、問題文に関するページにアクセスできる状態にしてください。
演習課題「データベースに接続する」
右の環境には、Laravelで「mydiary」というアプリケーションディレクトリが作成してあります。また、mySQLには「diarydb」というデータベースが作成してあります。
この環境からデータベースを利用できるよう、環境設定ファイルに以下の情報を設定してください。
データベース名:diarydb
ユーザー名:root
パスワード:(コメントアウト)
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバを起動し、問題文に関するページにアクセスできる状態にしてください。
#02:アプリケーションディレクトリを用意しよう
ここでは、Laravelのアプリケーションディレクトリを用意します。また、アプリケーションのデータベースを準備しましょう。
カレントディレクトリの確認$ pwd
ディレクトリの一覧$ ls
PHPのバージョンを確認$ php -v
Laravelのバージョンを確認$ laravel -V
$ laravel new lunchmap
"laravel new"コマンドの実行前に以下のような設定をしておけば、コマンドの実行時間を短くできます。$ composer config -g repositories.packagist composer 'https://packagist.jp'
$ composer global require hirak/prestissimo
$ cd lunchmap
$ php artisan serve
ブラウザで以下にアクセスすると、アプリのWebページを表示するhttps://localhost:8000/
Webサーバを停止するには、ターミナルで、キーボードで「CTRL」キー(コントロールキー)を押しながら「C」のキーを押す。
lunchmap/.envDB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=lunchmapdb
DB_USERNAME=root
# DB_PASSWORD=secret
Eloquent:利用の開始 5.7 Laravel
https://readouble.com/laravel/5.7/ja/eloquent.html
Eloquent:リレーション 5.7 Laravel
https://readouble.com/laravel/5.7/ja/eloquent-relationships.html
Laravelでの基本的なリレーションシップもしくはJOIN - Qiita
https://qiita.com/zaburo/items/d665804f8ea850502c64
動画ではlaravel5.7を使用していますが、現在はより新しいLaravel5.8が公開されています。
`$ laravel new`で作成したプロジェクトはその時点で最新のLaravelがダウンロードされるため、時期によっては動画と全く同じコードでは無いかもしれませんが2019年3月現在大幅な変更はされていないので大きな影響はありません。
例えば、以下のような違いが見られる場合があります。
### artisan make:modelで作成したマイグレーションファイル
以前はidカラムがincrementsで定義されていましたが、新しくbigIncrementsで定義されるようになります。
これはデータベースのカラムの型に影響しincrements() : 符号なし4byte整数
bigIncrements() : 符号なし8byte整数
となります。
符号なし8byte整数(2\^64通り)は、符号なし4byte整数(2\^32通り)の2\^32倍 = 4,294,967,295倍もの空間を持っています。
bigIncrements()でIDを定義するとincrements()にくらべてこれだけの余裕ができ、より多くのデータを格納できるようになるというわけです。 public function up()
{
Schema::create('Shop', function (Blueprint $table) {
// ここがbigIncrementsになっている
$table->bigIncrements('id');
$table->timestamps();
});
}
### AppServiceProvider.phpの関数の順番が異なる
AppServiceProvider.phpの関数が動画と違う並び順になっている場合があります。
並び順が異なるだけでメソッドそのものは変わっていませんので、目的のメソッドの位置を確認してください。
paiza cloud向けのHTTPSの設定はboot()メソッドに記述します。class AppServiceProvider extends ServiceProvider
{
// メソッドの並び順が逆になっている
public function register()
{
//
}
public function boot()
{
//
}
}
### 404エラーのデザインが変わっている
404エラーが発生した場合(アクセス先のURLを間違えた場合など)に表示されてるエラーページのデザインがシンプルなものへ変更されました。
paizaラーニングの講座でも存在しないURLへアクセスすれば表示されますので、興味があれば確認してみましょう。
### laravelの更新情報(英語)
- [Release Notes - Laravel](https://laravel.com/docs/5.8/releases)
- [Laravel News](https://laravel-news.com/)