knownObjects[ $obj ] ) ) { try { $this->_save_object( $obj ); } catch ( Exception $e ) { echo esc_html( $e->getTraceAsString() ); } } return $this->knownObjects[ $obj ]; } private function _save_object( $obj ) { if ( function_exists( 'mb_convert_case' ) ) { $objname = 'SOFTOBA_' . mb_convert_case( $obj, MB_CASE_TITLE, 'UTF-8' ); } else { $objname = 'SOFTOBA_' . ucfirst( $obj ); } if ( is_string( $obj ) && ! isset( $this->$obj ) && class_exists( $objname ) ) { $this->knownObjects[ $obj ] = new $objname(); } } /** * Prevent users to clone the instance */ public function __clone() { trigger_error( 'Clone is not allowed.', E_USER_ERROR ); } } if ( ! function_exists( 'SOFTOBA_Registry' ) ) { function SOFTOBA_Registry() { return SOFTOBA_Registry::getInstance(); } }