#RAKUSMeetup
count()関数の仕様変更
PHP 7.2 以降の挙動
→ カウントできない型を引数にすると Warning が発生
print( count(1) ); // 出力:1
print( count("hoge") ); // 出力:1
print( count(null) ); // 出力:0
Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
code
php.log
Slide 10
Slide 10 text
#RAKUSMeetup
対応案
すべての count() 関数に対して...
A. カウント可能な値のみ渡すよう修正
- そもそも NULL や int をカウントしている方がおかしいでしょ
B. カウントできない値も許容するオリジナル関数で置換え
- 全 count() 関数なんて見てられない
- オリジナル関数で NULL や int は 0 や 1 を返せばOK
Slide 11
Slide 11 text
#RAKUSMeetup
count() の数を確認
Slide 12
Slide 12 text
#RAKUSMeetup
2,232 個所
Slide 13
Slide 13 text
#RAKUSMeetup
対応案
A. カウント可能な値のみ渡すよう修正
- そもそも NULL や int をカウントしている方がおかしいでしょ
B. カウントできない値も許容するオリジナル関数で置換え
- 全 count() 関数なんて見てられない。 それが現実。
- ラッパー関数にて NULL や int は 0 や 1 を返せばOK
無理...
すべての count() 関数に対して...
採用