From: Thiemo Kreuz Date: Mon, 14 May 2018 11:27:23 +0000 (+0200) Subject: ConnectionManager: Require ILoadBalancer instead of LoadBalancer X-Git-Tag: 1.34.0-rc.0~5437 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=7a9d1afde59ec5fb8aa7e48e3022ae7adc1e5385;p=lhc%2Fweb%2Fwiklou.git ConnectionManager: Require ILoadBalancer instead of LoadBalancer Since I4fdf7f7 more code stops returning the implementation, but only returns the interface. This is a good, very welcome change. However, ConnectionManager still requires the LoadBalancer implementation, for no obvious reason. All code in this class works fine with the interface. This is currently reported by Phan as a violation (and it actually is one), e.g.: https://integration.wikimedia.org/ci/job/mwext-php70-phan-docker/6433/console Change-Id: I63cbb98fd277b0c64ab8b303888b9354c4be29e2 --- diff --git a/includes/libs/rdbms/connectionmanager/ConnectionManager.php b/includes/libs/rdbms/connectionmanager/ConnectionManager.php index 4a497b088b..27e6138102 100644 --- a/includes/libs/rdbms/connectionmanager/ConnectionManager.php +++ b/includes/libs/rdbms/connectionmanager/ConnectionManager.php @@ -35,7 +35,7 @@ use InvalidArgumentException; class ConnectionManager { /** - * @var LoadBalancer + * @var ILoadBalancer */ private $loadBalancer; @@ -52,14 +52,14 @@ class ConnectionManager { private $groups = []; /** - * @param LoadBalancer $loadBalancer + * @param ILoadBalancer $loadBalancer * @param string|bool $domain Optional logical DB name, defaults to current wiki. * This follows the convention for database names used by $loadBalancer. * @param string[] $groups see LoadBalancer::getConnection * * @throws InvalidArgumentException */ - public function __construct( LoadBalancer $loadBalancer, $domain = false, array $groups = [] ) { + public function __construct( ILoadBalancer $loadBalancer, $domain = false, array $groups = [] ) { if ( !is_string( $domain ) && $domain !== false ) { throw new InvalidArgumentException( '$dbName must be a string, or false.' ); }