A library that implements the php-ldap-filter-interface library

4.0.0 2022-05-31 07:54 UTC


A library that implements the php-ldap-filter-interface library

coverage build status


The installation of this library is made via composer. Download composer.phar from their website. Then add to your composer.json :

	"require": {
		"php-extended/php-ldap-filter-object": "^3"

Then run php composer.phar update to install this library. The autoloading of all classes of this library is made through composer's autoloader.

Basic Usage

This library creates dn with the following constructor :

use PhpExtended\Ldap\LdapFilterNodeInterface;
use PhpExtended\Ldap\LdapFilterNodeValueInterface;
use PhpExtended\Ldap\LdapFilterNodeMulti;
use PhpExtended\Ldap\LdapFilterNodeNot;
use PhpExtended\Ldap\LdapFilterNodeValue;

$filter = new LdapFilterNodeMulti(LdapFilterNodeInterface::OP_OR, [
	new LdapFilterNodeNot(new LdapFilterNodeValue(LdapFilterNodeValueInterface::CMP_APPROX, 'foo', 'bar')),
	new LdapFilterNodeValue(LdapFilterNodeValueInterface::CMP_EQUALS, 'cn', 'foobar'),
	new LdapFilterNodeValue(LdapFilterNodeValueInterface::CMP_EQUALS, 'uid', 'barbaz'),

// gets "(|(!(foo~=bar))(cn=foobar)(uid=barbaz))"

To parse ldap filters, do :

use PhpExtended\Ldap\LdapFilterParser;

$parser = new LdapFilterParser();
$ldn = $parser->parseString('(&(objectClass=Person)(sn=John)(cn=Snow))');

// $ldn instanceof LdapFilterNodeMultiInterface AND node with
// three children which are each one of the nodes


MIT (See license file).