PHPのスカラー型をクラスでラップして便利に使えるようにするライブラリ「Stannum」を作った話
by
tumugin.myskng
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Copyright© M&A PHP Stannum PHPerKaigi 2 0 2 2
Slide 2
Slide 2 text
Copyright© M&A 2 M&A Twitter: @myskng (Twitter ... ...) GitHub: @tumugin PHP(Laravel) JavaScript TypeScript(Vue) ( Ruby Kotlin ...)
Slide 3
Slide 3 text
Copyright© M&A 3
Slide 4
Slide 4 text
Copyright© M&A 4
Slide 5
Slide 5 text
Copyright© M&A 5 ) , , , , , ,, ,,, ... string string
Slide 6
Slide 6 text
Copyright© M&A 6 ( ...) ( UI )
Slide 7
Slide 7 text
Copyright© M&A Ruby 7 ....? ' , , , , , ,, ,,,' .split(',') .filter { |s| !s.strip.empty? } .map { |s| s.strip } .uniq => [" ", " ", " ", " "] PHP ....( )
Slide 8
Slide 8 text
Copyright© M&A PHP 8 PHP ... $inputTags = ' , , , , , ,, ,,,'; $splitTags = explode(',', $inputTags); $splitTagsWithoutEmpty = []; foreach ($splitTags as $tag) { if (trim($tag) !== '') { $splitTagsWithoutEmpty[] = trim($tag); } } $splitTagsWithoutEmptyAndDuplicate = array_unique($splitTagsWithoutEmpty); ...? ....?
Slide 9
Slide 9 text
Copyright© M&A PHP 9 array_unique( array_map( fn(string $s) => trim($s), array_filter( explode(',', ' , , , , , ,,, ,,'), fn(string $s) => trim($s) !== '' ) ) ); ...😇 😇 😇
Slide 10
Slide 10 text
Copyright© M&A 10 🥺🥺🥺
Slide 11
Slide 11 text
Copyright© M&A 11
Slide 12
Slide 12 text
Copyright© M&A 12
Slide 13
Slide 13 text
Copyright© M&A 13
Slide 14
Slide 14 text
Copyright© M&A 14 extension (nikic/scalar_objects) - ... - PHP
Slide 15
Slide 15 text
Copyright© M&A 15 RFCs PHP RFC: Autoboxing https://wiki.php.net/rfc/autoboxing PHP RFC: Class-like Primitive Types https://wiki.php.net/rfc/class-like_primitive_types ...
Slide 16
Slide 16 text
Copyright© M&A 16 ...🥺🥺
Slide 17
Slide 17 text
Copyright© M&A 17 ...
Slide 18
Slide 18 text
Copyright© M&A 18 💡💡💡💡
Slide 19
Slide 19 text
Copyright© M&A 19
Slide 20
Slide 20 text
Copyright© M&A 20 ... tumugin/stannum PHP 7 . 4 ( array) float/double integer string Sn => Stannum( )
Slide 21
Slide 21 text
Copyright© M&A 21 SnString::byString(' , , , , , ,, ,,,') ->split(',') ->filter(fn(SnString $s) => !$s->trim()->isEmpty()) ->map(fn(SnString $s) => $s->trim()) ->distinct() ->toSnStringList() ->toStringArray(); ... PHP
Slide 22
Slide 22 text
Copyright© M&A 22 PHP ...?
Slide 23
Slide 23 text
Copyright© M&A ... foreach ...? 23 $sushiList = SnStringList::byStringArray([ ' ', ' ', ' ', ' ', ' ', ]); foreach ($sushiList as $sushi) { // something... }
Slide 24
Slide 24 text
Copyright© M&A __toString() ...? 24 $wantToEatSushi = SnString::byString( ' ' ); return "{$wantToEatSushi} "; =>
Slide 25
Slide 25 text
Copyright© M&A 25
Slide 26
Slide 26 text
Copyright© M&A 26 composer require tumugin/stannum