Laravel 5.5
・謎の値に遭遇した。 $user = App\User; $user->full_name; usersテーブルにfull_nameなんてカラムは無いし、Userモデルにfull_name()なんて関数は定義していない。 第3の定義方法を発見した!便利すぎる! public function getFullNameAttribute() { retur…
https://readouble.com/laravel/5.5/ja/csrf.html ・Laravelではユーザーのセッションごとにトークンを発行している。このトークンが、ログインしているユーザ=リクエストの送信者なのかどうかを判断する。 webミドルウェアグループに含まれている、VerifyC…
①ルータ 一括生成により、下記を作成。 Route::group(['middleware' => 'auth'], function () { Route::resource('posts', 'PostsController', ['except' => ['index']]); }); Method | URI | Name | Action | Middleware | DELETE | posts/{post} | posts.d…
・「契約」(コントラクト)とは インターフェイス。Laravelのコアコンポーネントで利用されている関数を定義している。中身はhttps://github.com/illuminate/contracts。 要は、Laravel内のいろいろなクラスのテンプレート。 ・契約 VS ファサード 同じよう…
【ポイント】 ・なぜEloquentからデータ取得するのではなく、注入するのか。 「他の実装へ簡単に交換できます。さらに、「モック」することも簡単ですし、アプリケーションのテストでUserRepositoryのダミー実装を作成することもできます。」 ・インターフェ…
https://readouble.com/laravel/5.5/ja/lifecycle.html 【ポイント】 Laravelアプリの挙動 1.Webサーバがpublic/index.phpファイルにリクエストを渡す 2.public/index.phpファイルが ①Composerが生成したオートローダーの定義をロード ②bootstrap/app.ph…
【ポイント】 ・クラスがComposerによりオートローディングできるならばクラスの配置場所はどこでも良い。 ・モデル=Eloquent ・appディレクトリはデフォルトで、App名前空間のもとに置かれており、Composerがオートロードしている。=appディレクトリ以下…
<新知識> ・Composerを使ってLaravelをインストールするといろいろ最適化されている。 ほかの方法だとインストール後にいろいろ設定しないといけない。 ・.envファイルの正式名称はenv.example。 ・単体テスト用の設定ファイルとして、.env.testingファイ…