Skip to content
Snippets Groups Projects
Select Git revision
  • c2b9ca080a1e9441a0de9f009d1cd14bb77f813c
  • master default protected
  • fix/deprecated_functions
  • devel
  • feat/translations
  • feat/upgrade_to_pro_url
  • feat/lang
  • bugfix/require-interface
  • bugfix/require-once-error
  • feature/activation-hooks
  • feature/template-loader
  • feature/template-renderer
  • feature/plugin-activation
  • feature/hookable-object
  • feature/builder-pattern
  • 2.1.2
  • 2.1.1
  • 2.1.0
  • 2.0.0
  • 2.0.0-beta1
  • 1.4.4
  • 1.4.3
  • 1.4.2
  • 1.4.1
  • 1.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.2.0
  • 1.1
  • 1.0
32 results

AbstractBuilder.php

Blame
  • AbstractBuilder.php 751 B
    <?php
    
    namespace WPDesk\PluginBuilder\Builder;
    
    use WPDesk\PluginBuilder\Plugin\AbstractPlugin;
    
    class AbstractBuilder {
    	protected static $instances = [];
    
    	/**
    	 * @param string $class
    	 * @param AbstractPlugin $object
    	 */
    	protected function addToStorage( $class, $object ) {
    		if ( isset( self::$instances[ $class ] ) ) {
    			throw new Exception\ClassAlreadyExists( "Class {$class} already exists" );
    		}
    		self::$instances[ $class ] = $object;
    	}
    
    	/**
    	 * @param string $class
    	 *
    	 * @return AbstractPlugin
    	 */
    	protected function getFromStorage( $class ) {
    		if ( isset( self::$instances[ $class ] ) ) {
    			return self::$instances[ $class ];
    		} else {
    			throw new Exception\ClassNotExists( "Class {$class} not exists in storage" );
    		}
    	}
    }