Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Laravelの魅力とは

Slide 4

Slide 4 text

Laravelの魅力的な機能(一部) ルーティングが 容易 Artisan コマンド DIコンテナが 使いやすい ヘルパ関数が たくさん 強力な Middleware 充実した メール機能 簡易な クエリビルダ 便利な マイグレーション

Slide 5

Slide 5 text

全部使いこなせてる人

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

ちょっと補足 snake_case()の定義 helpers.php Str.php

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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);

Slide 16

Slide 16 text

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);

Slide 17

Slide 17 text

ちょっと補足 sortBy()の定義 Collection.php

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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", ], ]

Slide 20

Slide 20 text

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", ], ]

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

クイズを作ってみて

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

クイズを作ってみて

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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