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

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

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

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

User Contributed Notes

You must log in before being able to contribute a note or feedback.