PHPの検証メソッドはなるべく1つにまとめるべきでしょうか? ㅤㅤ 下記 `UserRow` クラスの、`$value1` と `$value2` はいずれも「`null` または整数値」が入ります。 ではこれらの検証においては、➀➁のどちらを採用すべきだと思いますか? ➀ `$rules['value1']['function']` の方式を採用すべき つまり `is_null()` と `isPositiveInteger()` で分けるべき ➁`$rules['value2']['function']` の方式を採用すべき つまり `isNullablePositiveInteger()` にまとめるべき ━━━━━━━━━━ final class UserRow extends Row { ㅤㅤconst PRIMARY_KEY_NAME = 'id'; ㅤㅤconst SCHEME = [ ㅤㅤㅤㅤ'id' => ['type' => parent::INTEGER], ㅤㅤㅤㅤ'value1' => ['type' => parent::INTEGER], ㅤㅤㅤㅤ'value2' => ['type' => parent::INTEGER], ㅤㅤ]; ㅤㅤconst DEFAULT_OMIT_COL_NAMES = ['id', 'createdAt', 'updatedAt']; ㅤㅤprotected int $id = 0; ㅤㅤprotected int|null $value1 = null; ㅤㅤprotected int|null $value2 = null; ㅤㅤ/** ㅤㅤ * 検証 ㅤㅤ * @param object $instance 当クラス ㅤㅤ * @param array $omitColNames 検証しないカラム名配列 ㅤㅤ * @return Validator 検証クラス ㅤㅤ */ ㅤㅤfinal public static function validate(object $instance, array $omitColNames = []): Validator ㅤㅤ{ ㅤㅤㅤㅤ$validator = new Validator(); ㅤㅤㅤㅤ// 全てのプロパティのルールを宣言し, $omitColNames のルールを除外 ㅤㅤㅤㅤ$rules = [ ㅤㅤㅤㅤㅤㅤ'id' => [ ㅤㅤㅤㅤㅤㅤㅤㅤ'function' => fn ($v) => $validator->isPositiveInteger($v), ㅤㅤㅤㅤㅤㅤ], ㅤㅤㅤㅤㅤㅤ'value1' => [ ㅤㅤㅤㅤㅤㅤㅤㅤ'function' => fn ($v) => is_null($v) || $validator->isPositiveInteger($v), ㅤㅤㅤㅤㅤㅤ], ㅤㅤㅤㅤㅤㅤ'value2' => [ ㅤㅤㅤㅤㅤㅤㅤㅤ'function' => fn ($v) => $validator->isNullablePositiveInteger($v), ㅤㅤㅤㅤㅤㅤ], ㅤㅤㅤㅤ]; ㅤㅤㅤㅤ$newRules = array_diff_key($rules, array_flip($omitColNames)); ㅤㅤㅤㅤ// 検証し Validator を返す ㅤㅤㅤㅤ$validator->addRules($newRules); ㅤㅤㅤㅤreturn $validator->validate($instance); ㅤㅤ} } ━━━━━━━━━━ 極論質問者の好きにすればいいだろうとは思いますが、「どちらが好み」といったみなさまの感覚を知りたいです。 よろしくお願い致します。
PHP