24 lines
		
	
	
		
			593 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			593 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
class ET_Builder_Module_Fields_Factory {
 | 
						|
 | 
						|
	protected static $fields = array();
 | 
						|
 | 
						|
	/**
 | 
						|
	 * @param $fields_type
 | 
						|
	 *
 | 
						|
	 * @return ET_Builder_Module_Field_Base
 | 
						|
	 */
 | 
						|
	public static function get( $fields_type ) {
 | 
						|
		if ( ! isset( self::$fields[ $fields_type ] ) ) {
 | 
						|
			$file = implode( DIRECTORY_SEPARATOR, array( ET_BUILDER_DIR, 'module', 'field', "$fields_type.php" ) );
 | 
						|
 | 
						|
			$instance = file_exists( $file ) ? require_once $file : null;
 | 
						|
 | 
						|
			self::$fields[ $fields_type ] = $instance instanceof ET_Builder_Module_Field_Base ? $instance : null;
 | 
						|
		}
 | 
						|
 | 
						|
		return self::$fields[ $fields_type ];
 | 
						|
	}
 | 
						|
}
 |