# version-info/trunk/includes/ProviderInterface.php

Version Info – Server Health Monitor, PHP &amp; MySQL Version Display, Environment Indicators, version trunk. 39 lines.

- Page: https://pluginprobe.com/plugins/version-info/trunk/code/includes/ProviderInterface.php
- Raw: https://pluginprobe.com/plugins/version-info/trunk/raw/includes/ProviderInterface.php
- Modified: 2026-08-19T17:56:58+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/version-info/trunk/code/includes/ProviderInterface.php#L10-L20`.

```php
<?php // phpcs:disable WordPress.Files.FileName -- PSR-4 class file naming; renaming would break the autoloader.


namespace GauchoPlugins\VersionInfo;

defined( 'ABSPATH' ) || exit; // Exit if accessed directly.

/**
 * Contract implemented by every System Resources data provider.
 */
interface ProviderInterface {

	// phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid -- established camelCase provider API since 2.0; renaming would break every implementation.

	/**
	 * Returns the human-readable provider name.
	 */
	public function getName();

	/**
	 * Returns the provider key.
	 */
	public function getKey();

	/**
	 * Whether this provider can collect data on the current host.
	 */
	public function isAvailable();

	// phpcs:enable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid

	/**
	 * Collects the provider's data.
	 *
	 * @return array<string, mixed>
	 */
	public function collect();
}

```
