php-extended/php-ldap-filter-object

一个实现php-ldap-filter-interface库的库

7.0.6 2024-07-31 13:41 UTC

README

一个实现php-ldap-filter-interface库的库

coverage build status

安装

此库的安装通过composer进行,所有类的自动加载通过其自动加载器完成。

  • 他们的网站下载 composer.phar
  • 然后运行以下命令将此库作为依赖项安装
  • php composer.phar require php-extended/php-ldap-filter-object ^7

基本用法

此库通过以下构造函数创建dn


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))"

解析ldap过滤器,请执行


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 (见许可证文件)。