From 6f99071a6fb7b41c15c607a0f7403630a4758406 Mon Sep 17 00:00:00 2001 From: Andre Klapper Date: Wed, 15 Oct 2025 03:52:16 +0200 Subject: [PATCH] Fix PHP 8.1 "class_exists(null)" exception on PhabricatorStandardSelectCustomFieldDatasource Summary: Throw a less cryptic exception when no (required) class parameter is passed to `PhabricatorStandardSelectCustomFieldDatasource`. ``` ERROR 8192: class_exists(): Passing null to parameter #1 ($class) of type string is deprecated at [/var/www/html/phorge/phorge/src/infrastructure/customfield/datasource/PhabricatorStandardSelectCustomFieldDatasource.php:22] EXCEPTION: (Exception) Custom field class "" does not exist. at [/src/infrastructure/customfield/datasource/PhabricatorStandardSelectCustomFieldDatasource.php:23] ``` Closes T16298 Test Plan: * Go to http://phorge.localhost/typeahead/class/?class=PhabricatorStandardSelectCustomFieldDatasource * Get a more helpful exception `"You must set a custom field class!"` Reviewers: O1 Blessed Committers, mainframe98 Reviewed By: O1 Blessed Committers, mainframe98 Subscribers: mainframe98, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T16298 Differential Revision: https://we.phorge.it/D26423 --- .../PhabricatorStandardSelectCustomFieldDatasource.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/infrastructure/customfield/datasource/PhabricatorStandardSelectCustomFieldDatasource.php b/src/infrastructure/customfield/datasource/PhabricatorStandardSelectCustomFieldDatasource.php index fee2c34596..0949e79ae1 100644 --- a/src/infrastructure/customfield/datasource/PhabricatorStandardSelectCustomFieldDatasource.php +++ b/src/infrastructure/customfield/datasource/PhabricatorStandardSelectCustomFieldDatasource.php @@ -19,6 +19,10 @@ final class PhabricatorStandardSelectCustomFieldDatasource $viewer = $this->getViewer(); $class = $this->getParameter('object'); + if (!$class) { + throw new Exception( + pht('You must set a custom field class!')); + } if (!class_exists($class)) { throw new Exception( pht( -- 2.51.2