class-api-libs.php 1.13 KB
Newer Older
imac's avatar
imac committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
<?php

/**
 * Include this class to use the Yoast_Api_Libs, you can include this as a submodule in your project
 * and you just have to autoload this class
 *
 *
 * NAMING CONVENTIONS
 * - Register 'oauth' by using $this->register_api_library()
 * - Create folder 'oauth'
 * - Create file 'class-api-oauth.php'
 * - Class name should be 'Yoast_Api_Oauth'
 */
class Yoast_Api_Libs {

	/**
	 * Current version number of the API-libs
	 */
	const version = '2.0';

	/**
	 * Check if minimal required version is met.
	 *
	 * @param string $minimal_required_version
	 *
	 * @throws Exception
	 */
	public function __construct( $minimal_required_version )  {
		$this->load_google();

		if ( ! version_compare( self::version, $minimal_required_version, '>=' )) {
			throw new Exception( 'required_version' );
		}
	}

	/**
	 * Loading the google api library which will set the autoloader
	 */
	private function load_google() {
		if ( ! class_exists('Yoast_Api_Google', false) ) {
			// Require the file
			require_once dirname( __FILE__ ) . '/' . 'class-api-google.php';

			// Initialize the Google API Class to set the autoloader
			new Yoast_Api_Google();
		}
	}

}