https://github.com/xp-framework/ldap
LDAP protocol support for the XP Framework
https://github.com/xp-framework/ldap
ldap php xp-framework
Last synced: 6 months ago
JSON representation
LDAP protocol support for the XP Framework
- Host: GitHub
- URL: https://github.com/xp-framework/ldap
- Owner: xp-framework
- Created: 2013-11-12T11:08:29.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2022-11-02T14:30:17.000Z (over 3 years ago)
- Last Synced: 2025-09-08T18:34:28.551Z (7 months ago)
- Topics: ldap, php, xp-framework
- Language: PHP
- Size: 3.23 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
Awesome Lists containing this project
README
LDAP support for the XP Framework
========================================================================
[](https://github.com/xp-framework/ldap/actions)
[](https://github.com/xp-framework/core)
[](https://github.com/xp-framework/core/blob/master/LICENCE.md)
[](http://php.net/)
[](http://php.net/)
[](https://packagist.org/packages/xp-framework/ldap)
The peer.ldap package implements LDAP (Lighweight Directory Access Protocol) access.
Example (LDAP search)
---------------------
```php
use peer\ldap\LDAPConnection;
use util\cmd\Console;
$l= new LDAPConnection('ldap://ldap.example.com');
$l->connect();
$search= $l->search(
'ou=People,dc=OpenLDAP,dc=Org',
'(objectClass=*)'
);
Console::writeLinef('===> %d entries found', $search->numEntries());
foreach ($search as $result) {
Console::writeLine('---> ', $result->toString());
}
$l->close();
```
Example (Modifying an entry)
----------------------------
```php
use peer\ldap\{LDAPConnection, LDAPEntry};
$l= new LDAPConnection('ldap://uid=admin,o=roles,dc=planet-xp,dc=net:password@ldap.example.com');
$l->connect();
with ($entry= $l->read(new LDAPEntry('uid=1549,o=people,dc=planet-xp,dc=net'))); {
$entry->setAttribute('firstname', 'Timm');
$l->modify($entry);
}
$l->close();
```
Example (Adding an entry)
-------------------------
```php
use peer\ldap\{LDAPConnection, LDAPEntry};
$l= new LDAPConnection('ldap://uid=admin,o=roles,dc=planet-xp,dc=net:password@ldap.example.com');
$l->connect();
with ($entry= new LDAPEntry('uid=1549,o=people,dc=planet-xp,dc=net')); {
$entry->setAttribute('uid', 1549);
$entry->setAttribute('firstname', 'Timm');
$entry->setAttribute('lastname', 'Friebe');
$entry->setAttribute('objectClass', 'xpPerson');
$l->add($entry);
}
$l->close();
```
Dynamically creating LDAP queries
---------------------------------
If the LDAP queries need to be constructed dynamically the LDAPQuery
class provides a printf-style syntax to do so:
```php
use peer\ldap\LDAPQuery;
$res= $ldap->searchBy(new LDAPQuery(
'o=people,dc=planet-xp,dc=net',
'(&(objectClass=%c)(|(username=%s)(uid=%d)))',
'xpPerson',
'friebe'
1549
));
```
When using the "%s" token, the value passed is escaped according to
rules in LDAP query syntax. The %c token copies as-is, and %d handles
the argument as numeric value.