classes_aliases[ $class ] );
// Backward Compatibility: Save old class name for set an alias after the new class is loaded
if ( $has_class_alias ) {
$class_alias_name = $this->classes_aliases[ $class ];
$class_to_load = $class_alias_name;
} else {
$class_to_load = $class;
}
if ( ! class_exists( $class_to_load ) ) {
$filename = strtolower(
preg_replace(
[ '/^' . __NAMESPACE__ . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ],
[ '', '$1-$2', '-', DIRECTORY_SEPARATOR ],
$class_to_load
)
);
$filename = IMAGE_OPTIMIZATION_PATH . $filename . '.php';
if ( is_readable( $filename ) ) {
include $filename;
}
}
if ( $has_class_alias ) {
class_alias( $class_alias_name, $class );
}
}
private function includes() {
require_once IMAGE_OPTIMIZATION_PATH . 'includes/modules-manager.php';
$this->modules_manager = new Manager();
}
/**
* Plugin class constructor
*
* Register plugin action hooks and filters
*
* @access public
*/
public function __construct() {
static $autoloader_registered = false;
if ( ! $autoloader_registered ) {
$autoloader_registered = spl_autoload_register( [ $this, 'autoload' ] );
}
$this->includes();
}
}
// Instantiate Plugin Class
Plugin::instance();