50 lines
844 B
PHP
50 lines
844 B
PHP
<?php
|
|
|
|
/**
|
|
* CLI class.
|
|
*
|
|
* Author: Bogdan Preda <bogdan.preda@themeisle.com>
|
|
* Created on: 19/07/2018
|
|
*
|
|
* @package \Optimole\Inc
|
|
* @author Optimole <friends@optimole.com>
|
|
*/
|
|
|
|
/**
|
|
* Class Optml_Cli
|
|
*/
|
|
class Optml_Cli {
|
|
|
|
/**
|
|
* Api version.
|
|
*
|
|
* @var string Version string.
|
|
*/
|
|
const CLI_NAMESPACE = 'optimole';
|
|
|
|
/**
|
|
* CLI controllers
|
|
*
|
|
* @var array List of CLI controllers.
|
|
*/
|
|
private $commands = [
|
|
'setting',
|
|
'media',
|
|
];
|
|
|
|
/**
|
|
* Optml_Cli constructor.
|
|
*/
|
|
public function __construct() {
|
|
foreach ( $this->commands as $command ) {
|
|
$class_name = 'Optml_Cli_' . ucfirst( $command );
|
|
$controller = new $class_name();
|
|
try {
|
|
\WP_CLI::add_command( self::CLI_NAMESPACE . ' ' . $command, $controller );
|
|
} catch ( \Exception $e ) {
|
|
// TODO Log this exception.
|
|
}
|
|
}
|
|
}
|
|
}
|