D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
raptqcnr
/
piwholesale.com
/
wp-content
/
themes
/
woodmart
/
inc
/
classes
/
Filename :
Registry.php
back
Copy
<?php if ( ! defined( 'WOODMART_THEME_DIR' ) ) { exit( 'No direct script access allowed' );} /** * Object Registry */ class WOODMART_Registry { /** * Holds an instance of the class */ private static $instance; /** * Short names of some know objects * * @var array */ private $knownObjects = array(); /** * Restrict direct initialization, use Registry::getInstance() instead */ private function __construct() { } /** * Get instance of the object (the singleton method) * * @return Registry */ public static function getInstance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Dynamically load missing object and assign it to the Registry property * * @param string $obj Object name (first char will be converted to upper case) * @return object */ function __get( $obj ) { if ( ! isset( $this->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 = 'WOODMART_' . mb_convert_case( $obj, MB_CASE_TITLE, 'UTF-8' ); } else { $objname = 'WOODMART_' . 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( 'WOODMART_Registry' ) ) { function WOODMART_Registry() { return WOODMART_Registry::getInstance(); } }