WP_Site_Health::test_php_extension_availability()privateWP 5.2.0

Checks if the passed extension or function are available.

Make the check for available PHP modules into a simple boolean operator for a cleaner test runner.

Method of the class: WP_Site_Health{}

No Hooks.

Return

true|false. Whether or not the extension and function are available.

Usage

// private - for code of main (parent) class only
$result = $this->test_php_extension_availability( $extension_name, $function_name, $constant_name, $class_name );
$extension_name(string)
The extension name to test.
Default: null
$function_name(string)
The function name to test.
Default: null
$constant_name(string)
The constant name to test for.
Default: null
$class_name(string)
The class name to test for.
Default: null

Changelog

Since 5.2.0 Introduced.
Since 5.3.0 The $constant_name and $class_name parameters were added.

WP_Site_Health::test_php_extension_availability() code WP 6.5.2

private function test_php_extension_availability( $extension_name = null, $function_name = null, $constant_name = null, $class_name = null ) {
	// If no extension or function is passed, claim to fail testing, as we have nothing to test against.
	if ( ! $extension_name && ! $function_name && ! $constant_name && ! $class_name ) {
		return false;
	}

	if ( $extension_name && ! extension_loaded( $extension_name ) ) {
		return false;
	}

	if ( $function_name && ! function_exists( $function_name ) ) {
		return false;
	}

	if ( $constant_name && ! defined( $constant_name ) ) {
		return false;
	}

	if ( $class_name && ! class_exists( $class_name ) ) {
		return false;
	}

	return true;
}