Laravel 5.7

Laravelでinput:checkboxのデフォルトでのチェックを実装する

ご存知の通りHTMLの仕様バグによりinput:checkboxは未チェック時、nameも送ってくれない。通常なら以下のようにして、フォームエラー時の再チェックを実装する。 <input type="checkbox" name="example" value="1" {!! old('example') == 1 ? 'checked="checked" : '' !!}> デフォルトが未チェックであればこれで問題ないが、デフォルトでチェック状態にしたい場合は…

Laravel Mixというかwebpackのコンパイルが、productionで重い件メモ

前提として、CSSはデフォルトにプラスα程度でデフォルトで入ってるBootstrapが重いく らい、JavaScriptが、Bootstrap入ってるファイルが別々に2つあってこっちが割と重い。 初回で13秒程度、変更検知でのコンパイルが6秒ほど。 一応developmentだと4秒未満、…

LaravelのViewのキャッシュの仕様

前の記事でBlade::setEchoFormat()の挙動を確認していたときに、思うように反映されず、キャッシュかなあと思ったらキャッシュが原因だったということがあったので、Viewのキャッシュ周りの仕様を簡単に調べてみた。 結論から書くと、Viewのキャッシュは設定…

LaravelのBladeで{{ csrf_field() }}が通る理由

なにかの間違えで、{{ csrf_field() }}と書いていたんだけどそれが通るということがあって、{{ ... }}の仕様どうなってるのかなと思い確認した。 {{ ... }}は紆余曲折を経て、に変換されていた。e()はPHPerなら予想がつくだろう通りhtmlspecialchars()のラッ…

Laravel Mixというかwebpackでconsole.log()が消えないようにする

追記 Laravel Mixとwebpackのどっちが犯人なのか探ってたら、Laravel Mixが犯人であること、さらにじつはもうdrop_consoleがデフォルトで無効になっていることに気付いた。 Remove drop_console option · JeffreyWay/laravel-mix@a9d2646 · GitHub というこ…

Laravel 5.6.27以降でログアウト後のリダイレクト先を変更したいなら、logout()ではなくloggedOut()をオーバーライドする

5.7で開発中なんだが、ログアウト後のリダイレクト先を変更するのどうしたらいいか調べてたら、ソースコードを読む感じIlluminate\Foundation\Auth\AuthenticatesUsersのloggedOut()をオーバーライドするのがよさそうだったのだが、ググると同じクラスのlogo…

LaravelのAuth::routes()で一部機能(ルート)を無効にする

Auth::routes()の本体である、Illuminate\Routing\Router::auth()を確認してて気付いたのでメモ。 false, 'reset' => false, ]); # ... これで新規登録とパスワードリセットが無効にできる。管理者だけが扱うようなアプリケーションでは使いそう。 まあ、ド…