From c13500290b39f81fdb9d1f16f7f2dc1bf2141cc2 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Mon, 26 Jan 2026 11:41:35 -0400 Subject: [PATCH 1/5] Fix phpstan in empty is not falsey errors --- classes/helpers/FrmFieldGridHelper.php | 4 ++-- classes/models/FrmFormState.php | 2 +- classes/models/FrmValidate.php | 4 ++-- phpstan.neon | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/classes/helpers/FrmFieldGridHelper.php b/classes/helpers/FrmFieldGridHelper.php index d71340a8a2..aeb9550035 100644 --- a/classes/helpers/FrmFieldGridHelper.php +++ b/classes/helpers/FrmFieldGridHelper.php @@ -36,12 +36,12 @@ class FrmFieldGridHelper { private $is_frm_first; /** - * @var stdClass + * @var stdClass|null */ private $field; /** - * @var FrmFieldGridHelper + * @var FrmFieldGridHelper|null */ private $section_helper; diff --git a/classes/models/FrmFormState.php b/classes/models/FrmFormState.php index 859de51812..a0c85e907e 100644 --- a/classes/models/FrmFormState.php +++ b/classes/models/FrmFormState.php @@ -14,7 +14,7 @@ class FrmFormState { /** - * @var FrmFormState + * @var FrmFormState|null */ private static $instance; diff --git a/classes/models/FrmValidate.php b/classes/models/FrmValidate.php index a0e3bc1911..d4a05ea878 100644 --- a/classes/models/FrmValidate.php +++ b/classes/models/FrmValidate.php @@ -11,7 +11,7 @@ abstract class FrmValidate { protected $form_id; /** - * @var object + * @var object|null */ protected $form; @@ -30,7 +30,7 @@ public function __construct( $form_id ) { } /** - * @return object Form. + * @return object|null Form. */ protected function get_form() { if ( empty( $this->form ) ) { diff --git a/phpstan.neon b/phpstan.neon index 53a0a6d0c3..48dbde9d1e 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -28,7 +28,7 @@ parameters: - '#only iterables are supported#' - '#will always evaluate to#' - '#in isset\(\) does not exist.#' - - '#in empty\(\) is not falsy.#' + - '#always exists and is not falsy.#' - '#get_gateway_for_action\(\) never returns array so it can be removed from the return type#' - From 9de633656737362dd4b9911620c00fc4d4167030 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Mon, 26 Jan 2026 11:42:01 -0400 Subject: [PATCH 2/5] Remove empty line --- phpstan.neon | 1 - 1 file changed, 1 deletion(-) diff --git a/phpstan.neon b/phpstan.neon index 48dbde9d1e..c7ed2d1971 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -28,7 +28,6 @@ parameters: - '#only iterables are supported#' - '#will always evaluate to#' - '#in isset\(\) does not exist.#' - - '#always exists and is not falsy.#' - '#get_gateway_for_action\(\) never returns array so it can be removed from the return type#' - From 97679709631812c1561f79eca52f16d95495be7e Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Mon, 26 Jan 2026 11:44:40 -0400 Subject: [PATCH 3/5] Move another phpstan rule down with exceptions for only 2 files --- phpstan.neon | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/phpstan.neon b/phpstan.neon index c7ed2d1971..2de031911a 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -28,7 +28,6 @@ parameters: - '#only iterables are supported#' - '#will always evaluate to#' - '#in isset\(\) does not exist.#' - - '#always exists and is not falsy.#' - '#get_gateway_for_action\(\) never returns array so it can be removed from the return type#' - message: '#has an unused parameter#' @@ -372,3 +371,7 @@ parameters: paths: - classes/helpers/FrmXMLHelper.php - '#Method FrmShortcodeHelper::get_shortcode_tag\(\) should return string but returns array\|string#' + - + message: '#always exists and is not falsy.#' + path: classes/models/FrmAddon.php + path: classes/views/frm-entries/errors.php From d04781f154c9990988fe276356e9c9ff6220d7f1 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Mon, 26 Jan 2026 11:45:18 -0400 Subject: [PATCH 4/5] Use paths --- phpstan.neon | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 2de031911a..be9d132026 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -373,5 +373,6 @@ parameters: - '#Method FrmShortcodeHelper::get_shortcode_tag\(\) should return string but returns array\|string#' - message: '#always exists and is not falsy.#' - path: classes/models/FrmAddon.php - path: classes/views/frm-entries/errors.php + paths: + - classes/models/FrmAddon.php + - classes/views/frm-entries/errors.php From 7a5a6135e4031ff349392dc9f3268eb0f86895d4 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Mon, 26 Jan 2026 11:51:17 -0400 Subject: [PATCH 5/5] Ignore possibly null reference in Psalm for now --- psalm.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/psalm.xml b/psalm.xml index 0b30fa49cb..47e8356c01 100644 --- a/psalm.xml +++ b/psalm.xml @@ -430,6 +430,7 @@ +