Server IP : 170.150.155.74 / Your IP : 18.190.219.241 Web Server : Apache/2.4.53 (Debian) System : Linux b22bf132354b 5.4.0-162-generic #179-Ubuntu SMP Mon Aug 14 08:51:31 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/themes/neve/inc/core/ |
Upload File : |
<?php /** * Features Factory * * Author: Andrei Baicus <andrei@themeisle.com> * Created on: 17/08/2018 * * @package Neve\Core */ namespace Neve\Core; /** * The class responsible for instantiating new Neve features. * * @package Neve\Core * @author Themeisle <friends@themeisle.com> */ class Factory { /** * Modules * * @var array */ private $modules; /** * The modules namespace. * * @var string */ private $namespace; /** * Factory constructor. * * @param array $modules the modules that will be loaded. * @param string $namespace the modules namespace. */ public function __construct( $modules, $namespace = '\\Neve\\' ) { if ( ! is_array( $modules ) || empty( $modules ) ) { return; } $this->namespace = $namespace; $this->modules = $modules; } /** * Actually load the modules. */ public function load_modules() { foreach ( $this->modules as $module_name ) { $module = $this->build( $module_name ); if ( $module !== null ) { $module->init(); } } } /** * The build method for creating a new Neve module class. * * @since 1.0.0 * @access public * * @param string $class The name of the feature to instantiate. * * @return object|null */ public function build( $class ) { $full_class_name = $this->namespace . $class; return new $full_class_name(); } }