From 03f2e90b70d8016330125dd8e5b5272da3000875 Mon Sep 17 00:00:00 2001 From: Amrouche Hamza Date: Fri, 28 Jun 2019 13:06:42 +0200 Subject: [PATCH] [Ldap] [5.0] add type-hint to interface and implementation --- .../Component/Ldap/Adapter/AdapterInterface.php | 12 ++---------- .../Ldap/Adapter/ConnectionInterface.php | 7 ++----- .../Component/Ldap/Adapter/ExtLdap/Adapter.php | 4 ++-- .../Ldap/Adapter/ExtLdap/Connection.php | 6 +++--- .../Ldap/Adapter/ExtLdap/ConnectionOptions.php | 6 +++--- .../Ldap/Adapter/ExtLdap/EntryManager.php | 2 +- src/Symfony/Component/Ldap/Entry.php | 8 ++++---- src/Symfony/Component/Ldap/Ldap.php | 8 ++++---- src/Symfony/Component/Ldap/LdapInterface.php | 17 +++-------------- .../Ldap/Tests/Adapter/ExtLdap/AdapterTest.php | 2 +- src/Symfony/Component/Ldap/Tests/LdapTest.php | 4 ++-- 11 files changed, 27 insertions(+), 49 deletions(-) diff --git a/src/Symfony/Component/Ldap/Adapter/AdapterInterface.php b/src/Symfony/Component/Ldap/Adapter/AdapterInterface.php index 3c2fb4b9710c..01e39d13d867 100644 --- a/src/Symfony/Component/Ldap/Adapter/AdapterInterface.php +++ b/src/Symfony/Component/Ldap/Adapter/AdapterInterface.php @@ -26,13 +26,9 @@ public function getConnection(); /** * Creates a new Query. * - * @param string $dn - * @param string $query - * @param array $options - * * @return QueryInterface */ - public function createQuery($dn, $query, array $options = []); + public function createQuery(string $dn, string $query, array $options = []); /** * Fetches the entry manager instance. @@ -44,11 +40,7 @@ public function getEntryManager(); /** * Escape a string for use in an LDAP filter or DN. * - * @param string $subject - * @param string $ignore - * @param int $flags - * * @return string */ - public function escape($subject, $ignore = '', $flags = 0); + public function escape(string $subject, string $ignore = '', int $flags = 0); } diff --git a/src/Symfony/Component/Ldap/Adapter/ConnectionInterface.php b/src/Symfony/Component/Ldap/Adapter/ConnectionInterface.php index 347a852a82ea..aa0b5d857178 100644 --- a/src/Symfony/Component/Ldap/Adapter/ConnectionInterface.php +++ b/src/Symfony/Component/Ldap/Adapter/ConnectionInterface.php @@ -24,10 +24,7 @@ interface ConnectionInterface public function isBound(); /** - * Binds the connection against a DN and password. - * - * @param string $dn The user's DN - * @param string $password The associated password + * Binds the connection against a user's DN and password. */ - public function bind($dn = null, $password = null); + public function bind(string $dn = null, string $password = null); } diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Adapter.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Adapter.php index 0700f6ec5877..39f5cbb81381 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Adapter.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Adapter.php @@ -59,7 +59,7 @@ public function getEntryManager() /** * {@inheritdoc} */ - public function createQuery($dn, $query, array $options = []) + public function createQuery(string $dn, string $query, array $options = []) { return new Query($this->getConnection(), $dn, $query, $options); } @@ -67,7 +67,7 @@ public function createQuery($dn, $query, array $options = []) /** * {@inheritdoc} */ - public function escape($subject, $ignore = '', $flags = 0) + public function escape(string $subject, string $ignore = '', int $flags = 0) { $value = ldap_escape($subject, $ignore, $flags); diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php index 3c6262c467ad..4ec8bdc80511 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php @@ -51,7 +51,7 @@ public function isBound() /** * {@inheritdoc} */ - public function bind($dn = null, $password = null) + public function bind(string $dn = null, string $password = null) { if (!$this->connection) { $this->connect(); @@ -85,14 +85,14 @@ public function getResource() return $this->connection; } - public function setOption($name, $value) + public function setOption(string $name, $value) { if (!@ldap_set_option($this->connection, ConnectionOptions::getOption($name), $value)) { throw new LdapException(sprintf('Could not set value "%s" for option "%s".', $value, $name)); } } - public function getOption($name) + public function getOption(string $name) { if (!@ldap_get_option($this->connection, ConnectionOptions::getOption($name), $ret)) { throw new LdapException(sprintf('Could not retrieve value for option "%s".', $name)); diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php index 7a4225fb42ba..1e57d8fcfe68 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/ConnectionOptions.php @@ -45,7 +45,7 @@ final class ConnectionOptions const X_SASL_AUTHCID = 0x6102; const X_SASL_AUTHZID = 0x6103; - public static function getOptionName($name): string + public static function getOptionName(string $name): string { return sprintf('%s::%s', self::class, strtoupper($name)); } @@ -58,7 +58,7 @@ public static function getOptionName($name): string * * @throws LdapException */ - public static function getOption($name): int + public static function getOption(string $name): int { // Convert $constantName = self::getOptionName($name); @@ -70,7 +70,7 @@ public static function getOption($name): int return \constant($constantName); } - public static function isOption($name): bool + public static function isOption(string $name): bool { return \defined(self::getOptionName($name)); } diff --git a/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php b/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php index d64e4b32899f..037fbd309674 100644 --- a/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php +++ b/src/Symfony/Component/Ldap/Adapter/ExtLdap/EntryManager.php @@ -101,7 +101,7 @@ public function removeAttributeValues(Entry $entry, string $attribute, array $va /** * {@inheritdoc} */ - public function rename(Entry $entry, $newRdn, $removeOldRdn = true) + public function rename(Entry $entry, string $newRdn, bool $removeOldRdn = true) { $con = $this->getConnectionResource(); diff --git a/src/Symfony/Component/Ldap/Entry.php b/src/Symfony/Component/Ldap/Entry.php index 8ed484d0e0e1..2da264212c74 100644 --- a/src/Symfony/Component/Ldap/Entry.php +++ b/src/Symfony/Component/Ldap/Entry.php @@ -42,7 +42,7 @@ public function getDn() * * @return bool */ - public function hasAttribute($name) + public function hasAttribute(string $name) { return isset($this->attributes[$name]); } @@ -57,7 +57,7 @@ public function hasAttribute($name) * * @return array|null */ - public function getAttribute($name) + public function getAttribute(string $name) { return isset($this->attributes[$name]) ? $this->attributes[$name] : null; } @@ -78,7 +78,7 @@ public function getAttributes() * @param string $name * @param array $value */ - public function setAttribute($name, array $value) + public function setAttribute(string $name, array $value) { $this->attributes[$name] = $value; } @@ -88,7 +88,7 @@ public function setAttribute($name, array $value) * * @param string $name */ - public function removeAttribute($name) + public function removeAttribute(string $name) { unset($this->attributes[$name]); } diff --git a/src/Symfony/Component/Ldap/Ldap.php b/src/Symfony/Component/Ldap/Ldap.php index 16ba165c8431..955b48b3089c 100644 --- a/src/Symfony/Component/Ldap/Ldap.php +++ b/src/Symfony/Component/Ldap/Ldap.php @@ -35,7 +35,7 @@ public function __construct(AdapterInterface $adapter) /** * {@inheritdoc} */ - public function bind($dn = null, $password = null) + public function bind(string $dn = null, string $password = null) { $this->adapter->getConnection()->bind($dn, $password); } @@ -43,7 +43,7 @@ public function bind($dn = null, $password = null) /** * {@inheritdoc} */ - public function query($dn, $query, array $options = []): ?QueryInterface + public function query(string $dn, string $query, array $options = []): ?QueryInterface { return $this->adapter->createQuery($dn, $query, $options); } @@ -59,7 +59,7 @@ public function getEntryManager(): ?EntryManagerInterface /** * {@inheritdoc} */ - public function escape($subject, $ignore = '', $flags = 0): ?string + public function escape(string $subject, string $ignore = '', int $flags = 0): ?string { return $this->adapter->escape($subject, $ignore, $flags); } @@ -72,7 +72,7 @@ public function escape($subject, $ignore = '', $flags = 0): ?string * * @return static */ - public static function create($adapter, array $config = []): self + public static function create(string $adapter, array $config = []): self { if (!isset(self::$adapterMap[$adapter])) { throw new DriverNotFoundException(sprintf( diff --git a/src/Symfony/Component/Ldap/LdapInterface.php b/src/Symfony/Component/Ldap/LdapInterface.php index aa6b233f3d4d..a2ddf2e75589 100644 --- a/src/Symfony/Component/Ldap/LdapInterface.php +++ b/src/Symfony/Component/Ldap/LdapInterface.php @@ -28,23 +28,16 @@ interface LdapInterface /** * Return a connection bound to the ldap. * - * @param string $dn A LDAP dn - * @param string $password A password - * * @throws ConnectionException if dn / password could not be bound */ - public function bind($dn = null, $password = null); + public function bind(string $dn = null, string $password = null); /** * Queries a ldap server for entries matching the given criteria. * - * @param string $dn - * @param string $query - * @param array $options - * * @return QueryInterface */ - public function query($dn, $query, array $options = []); + public function query(string $dn, string $query, array $options = []); /** * @return EntryManagerInterface @@ -54,11 +47,7 @@ public function getEntryManager(); /** * Escape a string for use in an LDAP filter or DN. * - * @param string $subject - * @param string $ignore - * @param int $flags - * * @return string */ - public function escape($subject, $ignore = '', $flags = 0); + public function escape(string $subject, string $ignore = '', int $flags = 0); } diff --git a/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/AdapterTest.php b/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/AdapterTest.php index 96faaedd80bd..c98d1249e488 100644 --- a/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/AdapterTest.php +++ b/src/Symfony/Component/Ldap/Tests/Adapter/ExtLdap/AdapterTest.php @@ -34,7 +34,7 @@ public function testLdapEscape() { $ldap = new Adapter(); - $this->assertEquals('\20foo\3dbar\0d(baz)*\20', $ldap->escape(" foo=bar\r(baz)* ", null, LdapInterface::ESCAPE_DN)); + $this->assertEquals('\20foo\3dbar\0d(baz)*\20', $ldap->escape(" foo=bar\r(baz)* ", '', LdapInterface::ESCAPE_DN)); } /** diff --git a/src/Symfony/Component/Ldap/Tests/LdapTest.php b/src/Symfony/Component/Ldap/Tests/LdapTest.php index 1b893c28d955..1a5183276e2d 100644 --- a/src/Symfony/Component/Ldap/Tests/LdapTest.php +++ b/src/Symfony/Component/Ldap/Tests/LdapTest.php @@ -52,9 +52,9 @@ public function testLdapEscape() $this->adapter ->expects($this->once()) ->method('escape') - ->with('foo', 'bar', 'baz') + ->with('foo', 'bar', 0) ; - $this->ldap->escape('foo', 'bar', 'baz'); + $this->ldap->escape('foo', 'bar', 0); } public function testLdapQuery()