<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Ldap; use Symfony\Component\Ldap\Adapter\AdapterInterface; use Symfony\Component\Ldap\Exception\DriverNotFoundException; /** * @author Charles Sarrazin <charles@sarraz.in> */ final class Ldap implements LdapInterface { private $adapter; private static $adapterMap = [ 'ext_ldap' => 'Symfony\Component\Ldap\Adapter\ExtLdap\Adapter', ]; public function __construct(AdapterInterface $adapter) { $this->adapter = $adapter; } /** * {@inheritdoc} */ public function bind($dn = null, $password = null) { $this->adapter->getConnection()->bind($dn, $password); } /** * {@inheritdoc} */ public function query($dn, $query, array $options = []) { return $this->adapter->createQuery($dn, $query, $options); } /** * {@inheritdoc} */ public function getEntryManager() { return $this->adapter->getEntryManager(); } /** * {@inheritdoc} */ public function escape($subject, $ignore = '', $flags = 0) { return $this->adapter->escape($subject, $ignore, $flags); } /** * Creates a new Ldap instance. * * @param string $adapter The adapter name * @param array $config The adapter's configuration * * @return static */ public static function create($adapter, array $config = []) { if (!isset(self::$adapterMap[$adapter])) { throw new DriverNotFoundException(sprintf('Adapter "%s" not found. You should use one of: "%s".', $adapter, implode('", "', self::$adapterMap))); } $class = self::$adapterMap[$adapter]; return new self(new $class($config)); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Adapter | Folder | 0755 |
|
|
Exception | Folder | 0755 |
|
|
Tests | Folder | 0755 |
|
|
.gitignore | File | 34 B | 0644 |
|
CHANGELOG.md | File | 229 B | 0644 |
|
Entry.php | File | 1.84 KB | 0644 |
|
LICENSE | File | 1.04 KB | 0644 |
|
Ldap.php | File | 1.93 KB | 0644 |
|
LdapClient.php | File | 3.53 KB | 0644 |
|
LdapClientInterface.php | File | 854 B | 0644 |
|
LdapInterface.php | File | 1.46 KB | 0644 |
|
README.md | File | 742 B | 0644 |
|
composer.json | File | 869 B | 0644 |
|
phpunit.xml.dist | File | 928 B | 0644 |
|