EC-CUBE / EC-CUBE/ec-cube2

strlen($val) をどうするか

Open
#999 5 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
PHP
Stars
92
Forks
97
Avg merge
4d 2h
Merged PRs (30d)
9

Description

#996 で、`strlen($val)` は除外となったものの、気になる部分なので、備忘録を兼ねて。

`strlen($val)` は、挙動としては妥当なことが多いと思います。ただ、未定義な変数・要素の警告が、Warning に格上げされていることもあり、黙殺も難しくなっている認識です。

一方で、対象箇所も多いので、都度 `isset($val)` するなども冗長で避けたいです。

あと、PHP 7.4 では、配列などが入った場合の挙動も気になります。

思いつく折衷案として・・・
``` php
if (SC_Utils_Ex::strEmpty(@$var)) {
// anything
}

class SC_Utils
{
public static function strEmpty(?string $val)
{
return $val === '' || is_null($val);
}
}
```

PHP 7.4 に関して目を瞑れば、既存の処理のまま `strlen(@$val)` で良い気もしてきました。

何れにしても、今どきのエラー制御演算子のコストは、ちょっと気になります。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.