• File: API.php
  • Full Path: /home/matthif/www/wp-content/plugins/wpforms-lite/src/Integrations/DefaultContent/API.php
  • Date Modified: 02/16/2024 11:45 AM
  • File size: 923 bytes
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace WPForms;

use 
WPForms\Admin\Tools\Views\Import;

/**
 * Class API.
 *
 * @since 1.8.6
 */
class API {

    
/**
     * Registry.
     * Contains name of the class and method to be called.
     * For non-static methods, should contain the id to operate via wpforms->get( 'class' ).
     *
     * @todo Add non-static methods processing.
     *
     * @since 1.8.6
     *
     * @var array[]
     */
    
private $registry = [
        
'import_forms' => [
            
'class'  => Import::class,
            
'method' => 'import_forms',
        ],
    ];

    
/**
     * Magic method to call a method from registry.
     *
     * @since 1.8.6
     *
     * @param string $name Method name.
     * @param array  $args Arguments.
     *
     * @return mixed|null
     */
    
public function __callstring $name, array $args ) {

        
$callback $this->registry$name ] ?? null;

        if ( 
$callback === null ) {
            return 
null;
        }

        return 
call_user_func( [ $callback['class'], $callback['method'] ], ...$args );
    }
}