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 ];
|
|
}
|
|
}
|