「Laravel は便利」「Laravel で開発速度が上がる」とは、よく聞くセリフですが、我々はどこまで Laravel を使いこなせているのでしょうか。 Laravel ビギナーがドキュメントを読み漁って掘り当てた、Laravel のニッチな便利機能/便利関数をクイズ形式で紹介します。目指せ!全問正解!!
View Slide
自己紹介加納 悠史いるとこ:株式会社ラクスPHP歴:3年Laravel歴:半年
Laravelの魅力とは
Laravelの魅力的な機能(一部)ルーティングが容易ArtisanコマンドDIコンテナが使いやすいヘルパ関数がたくさん強力なMiddleware充実したメール機能簡易なクエリビルダ便利なマイグレーション
全部使いこなせてる人
• 3択問題• 基本機能からニッチな機能まで
第一問ヘルパ関数 文字列操作kebab_case("mySampleText");=> "my-sample-text";snake_case("mySampleText");=> "my_sample_text";title_case("mySampleText");=> "Mysampletext";
Q1. 次のうち出力が以下のようになるものABC"my?sample?text"kebab_case("mySampleText", "?")snake_case("mySampleText", "?")title_case("mySampleText", "?")
Q1. 次のうち出力が以下のようになるものABCkebab_case("mySampleText", "?")snake_case("mySampleText", "?")title_case("mySampleText", "?")"my?sample?text"
ちょっと補足snake_case()の定義helpers.phpStr.php
もっと補足kebab_case()の定義helpers.phpStr.php
?ソート第二問コレクションcollect([['name' => 'img3.png'],['name' => 'img20.png'],['name' => 'img01.png'],]);
第二問コレクションソート[2 => ["name" => "img01.png",],1 => ["name" => "img20.png",],0 => ["name" => "img3.png",],]collect([['name' => 'img3.png'],['name' => 'img20.png'],['name' => 'img01.png'],]);
第二問コレクション[2 => ["name" => "img01.png",],0 => ["name" => "img3.png",],1 => ["name" => "img20.png",],]
Q2. 大きさ順になるものは?ABC$collection = collect([ ['name' => 'img3.png' ],['name' => 'img20.png'],['name' => 'img01.png'], ]);$collection->sortBy('name', SORT_NATURAL);$collection->sort(SORT_NATURAL);$collection->sort('name', SORT_NATURAL);
ちょっと補足sortBy()の定義Collection.php
last() → 配列最後の要素を取得array_collapse() → 多次元配列を一次元配列にarray_add() → 配列に要素を追加第三問配列操作
Q3. $ret の値はどれ?A BC$array = [ "keyA" => "AAA" ];$ret = array_add( $array, "keyB1.keyB2", "BBB1.BBB2" );["keyA" => "AAA","keyB1.keyB2" => "BBB1.BBB2",]["keyA" => "AAA","keyB1" => "BBB1","keyB2" => "BBB2"]["keyA" => "AAA","keyB1" => ["keyB2" => "BBB1.BBB2",],]
ちょっと補足array_add()の定義helpers.phpArr.php
ちょっと補足Arr.phparray_add()の定義
ちょっと補足array_add()の定義Arr.php
• 3択問題• 基本機能 から ニッチな機能 まで
クイズを作ってみて
クイズを作ってみて• 関数名がわかりやすくて処理が予想できる
クイズを作ってみて• 関数名がわかりやすくて処理が予想できる• 大抵のことはドキュメントに載っている
クイズを作ってみて• 関数名がわかりやすくて処理が予想できる• 大抵のことはドキュメントに載っているクイズにならない
クイズを作ってみて• 関数が直観的に理解できる• 大抵ドキュメントに書いてある• 内部実装も読みやすい