refactor: fix all 105 PHPStan 2 strict type findings across core and modules
Resolve all non-false-positive PHPStan 2 findings, reducing the baseline from 486 to 382 entries (only unused-public false positives remain). Categories fixed: - Remove 39 redundant type checks (is_string, is_array, is_object, method_exists) - Remove 12 no-op array_values() on already-sequential lists - Simplify 13 null-coalesce on guaranteed offsets - Remove 8 always-true instanceof checks - Replace 12 redundant test assertions (assertTrue(true) → addToAssertionCount) - Simplify 6 unnecessary nullsafe operators (?-> → ->) - Fix 6 always-true !== '' comparisons - Fix remaining: unset.offset, return.unusedType, staticMethod narrowing 53 files changed across core/, modules/, pages/, and tests/. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -53,14 +53,10 @@ final class UiAccessService
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!is_array($definition)) {
|
||||
$resolved[$key] = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
$ability = $definition['ability'];
|
||||
$context = [];
|
||||
if (array_key_exists('context', $definition) && is_array($definition['context'])) {
|
||||
if (array_key_exists('context', $definition)) {
|
||||
$context = $this->normalizeContext($definition['context']);
|
||||
}
|
||||
$resolved[$key] = $this->allow($actorUserId, $ability, [
|
||||
@@ -113,7 +109,7 @@ final class UiAccessService
|
||||
private function normalizeContext(array $context): array
|
||||
{
|
||||
$normalized = $this->normalizeValue($context);
|
||||
return is_array($normalized) ? $normalized : [];
|
||||
return $this->normalizeValue($context);
|
||||
}
|
||||
|
||||
private function normalizeValue(mixed $value): mixed
|
||||
|
||||
Reference in New Issue
Block a user