LaracastsでLaravel 6の動画講義が面白いよ

LaracastsでLaravel 6の動画講義が面白い

Laravelを使うとWebアプリがすぐできます。

Webアプリを作ることを夕飯を作ることに例えるなら、
必要な機能を作るための材料がほとんど全て冷蔵庫に揃っていて、あとはレシピに沿って作業するだけ、という流れで進みます。

Laracastsとは?

月額15$でLaravel、PHP、Vue.jsなどの動画が見放題になるプログラミング動画学習サイトです。

Laracastsをみる前の自分のスペックとしては、このような感じです。

  • PHPフレームワーク Laravel入門 をさらっと一通りやり終えた
  • HTML、CSS、Bootstrap
  • ターミナルの基本操作を理解している

今回Laracastsのlaravel 6 from scratchを学びました。PHPフレームワーク Laravel入門には書かれていなかった学びや気づきをまとめていきたいと思います。
なお、こちらの動画は無料で視聴できます。

では、いってみましょう。

Laravel Valetが便利

valetとは、従者を意味する英単語で
イギリスの貴族社会では伯爵や公爵など身分の高い人の着替えを手伝ったり、お客さんのお世話、パーティの指揮などの仕事をしていた人のことです。

これはMacだけの機能で、インストールすると
php artisan serve のコマンドを毎回打つ必要がなく、プロジェクト名.testをブラウザに打ち込むだけです。

もしValetがなかったら、php artisan serve は結構な回数打ち込むことになります。
php artisan makeなどのコマンドを打つために一度Command + Cでlaravelプロジェクトを停止させる必要があるからです。
(別のターミナルウィンドウでmakeを実行するなどの回避策はあるかもしれないですが)

Laravel Valetのインストール方法

laravelをインストールした後、

でValetをインストールできます。詳しくはこちらの記事を参照

valet help park でヘルプが見られます。

もし現在のディレクトリが
\Applications\MAMP\htdocs で、laravelprojectというディレクトリにLaravelをインストールしているなら、

valet park をすると、
URLにlaravelproject.testと打ち込むだけでphp artisan serve localhost:8000/testと同じように実行できます。

クロスサイトスクリプティングを防止する機能

は同じコードです。

ブラウザのURLに、

と入力すると、スクリプトを実行されて
変なデータをDBに入れられるなどの被害が発生してしまいます。これがクロスサイトスクリプティングです。

そうならないよう、PHP ではhtmlspecialchars()を使いますが、Laravelでは {{ }} でOK。

はstorage\framework\viewsにコンパイルされて、

になります。
コンパイル後のファイル

なおファイル名が79b93c28f78f65793e090a2dc18932d3ccd040d6.phpなどとなってしまい、一見どのファイルなのかわかりづらいですが、
ファインダーを開いて作成日時をみて、直近の日時のファイルを開いてみると探しやすいでしょう。

ちなみに、エスケープを無効にするには

のように書きます。

DBからとってきたデータをエスケープしたくないときなどに使います。

tinker()が便利

tinkerって、どこか可愛い雰囲気がありますよね。ティンカーベルみたいな。
「いじくりまわす」という意味の英単語だそうです。

unitテストをするまでもない、簡単なテストをしたい時や、テスト用のデータを作る時に使います。

もしfactoryを作っていないと、
InvalidArgumentException with message ‘Unable to locate factory with name [default] [App/Article].’
エラーが発生するので、

ArticleFactoryを作成・編集したあとはTinkerを再起動する必要があります。
Command+CでTinkerを止め、

を実行すれば、userテーブルにデータが5件作られる、というようなことができます。

この記事の中では動画の中での一部を記載しましたが、参考書籍で学んだ知識が点であったなら、この動画講義は点を線にしてくれるような感覚でした。

もし興味を持たれた場合は、無料ですので是非動画講義を受けてみてください。

Laracasts.com Laravel 6 From Scratch