W3cubDocs

/WordPress

WP_Site_Health::test_php_extension_availability( string $extension_name = null, string $function_name = null, string $constant_name = null, string $class_name = null ): bool

Checks if the passed extension or function are available.

Description

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

Parameters

$extension_namestringoptional
The extension name to test.

Default:null

$function_namestringoptional
The function name to test.

Default:null

$constant_namestringoptional
The constant name to test for.

Default:null

$class_namestringoptional
The class name to test for.

Default:null

Return

bool Whether or not the extension and function are available.

Source

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;
}

Changelog

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

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_site_health/test_php_extension_availability