You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
593 B
PHTML
24 lines
593 B
PHTML
7 months ago
|
<?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 ];
|
||
|
}
|
||
|
}
|