PHPのスカラー型をクラスでラップして便利に使えるようにするライブラリ「Stannum」を作った話
by
tumugin.myskng
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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