Check if a Class Exists
Checks a requested PHP class name with class_exists() and returns a safe status array without triggering autoloader surprises unless explicitly allowed.
Purpose
Checks a requested PHP class name with class_exists() and returns a safe status array without triggering autoloader surprises unless explicitly allowed.
Snippet details
ContextUtilityLevelProductionCopy-and-paste statusMarked safe after review.Categories
- Forms and Validation
Code
<?php
/*
* Copyright (c) 2026 Jeffery L. Paris <jparis@phpog.com>.
* Free for personal and internal use. Paid project use requires visible credit
* to Jeffery L. Paris. Corporate use requires a paid license fee unless a
* separate written license states otherwise.
*/
/**
* Check if a Class Exists.
*
* Purpose:
* Checks whether a PHP class is available before code attempts to use it.
*
* @param string $class_name Class name to check.
* @param bool $allow_autoload Whether class_exists() may trigger autoloading.
* @return array Class availability details.
*/
function ogSnippetCheckIfClassExists(string $class_name, bool $allow_autoload): array {
$class_name = trim($class_name);
if ($class_name === '') {
return array(
'class_name' => '',
'exists' => false,
'message' => 'No class name was provided.'
);
}
$class_exists = class_exists($class_name, $allow_autoload);
if ($class_exists === true) {
$message = 'Class is available.';
} else {
$message = 'Class is not available.';
}
return array(
'class_name' => $class_name,
'exists' => $class_exists,
'autoload_allowed' => $allow_autoload,
'message' => $message
);
}
$known_check = ogSnippetCheckIfClassExists('DateTimeImmutable', false);
$fictional_check = ogSnippetCheckIfClassExists('GalacticaJumpDrive', false);
echo 'Known class check: '.$known_check['message'];
echo "\n";
echo 'Battlestar class check: '.$fictional_check['message'];