電撃:Laravelクイズ / DENGEKI:LaravelQuiz

B3a78cfbf06ca9ee860536c6d1de5e7f?s=47 Y-KANOH
February 16, 2019

電撃:Laravelクイズ / DENGEKI:LaravelQuiz

「Laravel は便利」「Laravel で開発速度が上がる」とは、よく聞くセリフですが、我々はどこまで Laravel を使いこなせているのでしょうか。
Laravel ビギナーがドキュメントを読み漁って掘り当てた、Laravel のニッチな便利機能/便利関数をクイズ形式で紹介します。目指せ!全問正解!!

B3a78cfbf06ca9ee860536c6d1de5e7f?s=128

Y-KANOH

February 16, 2019
Tweet

Transcript

  1. None
  2. 自己紹介 加納 悠史 いるとこ:株式会社ラクス PHP歴:3年 Laravel歴:半年

  3. Laravelの魅力とは

  4. Laravelの魅力的な機能(一部) ルーティングが 容易 Artisan コマンド DIコンテナが 使いやすい ヘルパ関数が たくさん 強力な

    Middleware 充実した メール機能 簡易な クエリビルダ 便利な マイグレーション
  5. 全部使いこなせてる人

  6. • 3択問題 • 基本機能からニッチな機能まで

  7. 第一問 ヘルパ関数 文字列操作 kebab_case("mySampleText"); => "my-sample-text"; snake_case("mySampleText"); => "my_sample_text"; title_case("mySampleText");

    => "Mysampletext";
  8. Q1. 次のうち出力が以下のようになるもの A B C "my?sample?text" kebab_case("mySampleText", "?") snake_case("mySampleText", "?")

    title_case("mySampleText", "?")
  9. Q1. 次のうち出力が以下のようになるもの A B C kebab_case("mySampleText", "?") snake_case("mySampleText", "?") title_case("mySampleText",

    "?") "my?sample?text"
  10. ちょっと補足 snake_case()の定義 helpers.php Str.php

  11. もっと補足 kebab_case()の定義 helpers.php Str.php

  12. ? ソート 第二問 コレクション collect([ ['name' => 'img3.png'], ['name' =>

    'img20.png'], ['name' => 'img01.png'], ]);
  13. 第二問 コレクション ソート [ 2 => [ "name" => "img01.png",

    ], 1 => [ "name" => "img20.png", ], 0 => [ "name" => "img3.png", ], ] collect([ ['name' => 'img3.png'], ['name' => 'img20.png'], ['name' => 'img01.png'], ]);
  14. 第二問 コレクション [ 2 => [ "name" => "img01.png", ],

    0 => [ "name" => "img3.png", ], 1 => [ "name" => "img20.png", ], ]
  15. Q2. 大きさ順になるものは? A B C $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);
  16. Q2. 大きさ順になるものは? A B C $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);
  17. ちょっと補足 sortBy()の定義 Collection.php

  18. last() → 配列最後の要素を取得 array_collapse() → 多次元配列を一次元配列に array_add() → 配列に要素を追加 第三問

    配列操作
  19. Q3. $ret の値はどれ? A B C $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", ], ]
  20. Q3. $ret の値はどれ? A B C $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", ], ]
  21. ちょっと補足 array_add()の定義 helpers.php Arr.php

  22. ちょっと補足 Arr.php array_add()の定義

  23. ちょっと補足 array_add()の定義 Arr.php

  24. • 3択問題 • 基本機能 から ニッチな機能 まで

  25. クイズを作ってみて

  26. クイズを作ってみて • 関数名がわかりやすくて処理が予想できる

  27. クイズを作ってみて • 関数名がわかりやすくて処理が予想できる • 大抵のことはドキュメントに載っている

  28. クイズを作ってみて • 関数名がわかりやすくて処理が予想できる • 大抵のことはドキュメントに載っている クイズにならない

  29. クイズを作ってみて

  30. クイズを作ってみて • 関数が直観的に理解できる • 大抵ドキュメントに書いてある • 内部実装も読みやすい

  31. クイズを作ってみて • 関数が直観的に理解できる • 大抵ドキュメントに書いてある • 内部実装も読みやすい