Failed Conditions
Push — develop ( e866ac...7d92e9 )
by Reüel
11:11
created

src/AbstractIntegration.php (1 issue)

1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\IDealBasic;
4
5
use Pronamic\WordPress\Pay\Gateways\IDeal\AbstractIntegration as IDeal_AbstractIntegration;
6
7
/**
8
 * Title: Abstract integration
9
 * Description:
10
 * Copyright: 2005-2019 Pronamic
11
 * Company: Pronamic
12
 *
13
 * @author  Remco Tolsma
14
 * @version 2.0.0
15
 * @since   1.0.0
16
 */
17
abstract class AbstractIntegration extends IDeal_AbstractIntegration {
18
	public function __construct() {
19
		// Actions.
20
		$function = array( __NAMESPACE__ . '\Listener', 'listen' );
21
22
		if ( ! has_action( 'wp_loaded', $function ) ) {
23
			add_action( 'wp_loaded', $function );
24
		}
25
	}
26
27
	public function get_config_factory_class() {
28
		return __NAMESPACE__ . '\ConfigFactory';
29
	}
30
31
	public function get_settings_class() {
32
		return array(
0 ignored issues
show
Bug Best Practice introduced by
The expression return array('Pronamic\W...ESPACE__ . '\Settings') returns the type array<integer,string> which is incompatible with the return type mandated by Pronamic\WordPress\Pay\G...e::get_settings_class() of string.

In the issue above, the returned value is violating the contract defined by the mentioned interface.

Let's take a look at an example:

interface HasName {
    /** @return string */
    public function getName();
}

class Name {
    public $name;
}

class User implements HasName {
    /** @return string|Name */
    public function getName() {
        return new Name('foo'); // This is a violation of the ``HasName`` interface
                                // which only allows a string value to be returned.
    }
}
Loading history...
33
			'Pronamic\WordPress\Pay\Gateways\IDeal\Settings',
34
			__NAMESPACE__ . '\Settings',
35
		);
36
	}
37
38
	/**
39
	 * Get required settings for this integration.
40
	 *
41
	 * @link https://github.com/wp-premium/gravityforms/blob/1.9.16/includes/fields/class-gf-field-multiselect.php#L21-L42
42
	 * @since 1.1.3
43
	 * @return array
44
	 */
45
	public function get_settings() {
46
		$settings = parent::get_settings();
47
48
		$settings[] = 'ideal-basic';
49
50
		return $settings;
51
	}
52
}
53