exists( $name ) ) $this->collection[ $name ] = $value; } /** * Unregisters an item. * * @since 2.0.0 * @access public * @param string $name * @return void */ public function unregister( $name ) { if ( $this->exists( $name ) ) unset( $this->collection[ $name ] ); } /** * Checks if an item exists. * * @since 2.0.0 * @access public * @param string $name * @return bool */ public function exists( $name ) { return isset( $this->collection[ $name ] ); } /** * Returns an item. * * @since 2.0.0 * @access public * @param string $name * @return mixed */ public function get( $name ) { return $this->exists( $name ) ? $this->collection[ $name ] : false; } /** * Returns the entire collection. * * @since 2.0.0 * @access public * @return array */ public function get_collection() { return $this->collection; } /** * Returns the instance. * * @since 2.0.0 * @access public * @return object */ final public static function get_instance( $name = '' ) { if ( ! isset( self::$instances[ $name ] ) ) self::$instances[ $name ] = new static(); return self::$instances[ $name ]; } }