Add README.md file
This commit is contained in:
parent
d4a8821157
commit
6b61ecd6f2
1 changed files with 68 additions and 0 deletions
68
README.md
Normal file
68
README.md
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# EesyLDAP (PHP)
|
||||||
|
|
||||||
|
PHP object oriented interface for searching and manipulating LDAP entries & filters.
|
||||||
|
|
||||||
|
__Notes:__
|
||||||
|
|
||||||
|
* work in progress. Start by implementing LDAP filter abstraction class.
|
||||||
|
* freely inspired by some other open-source projects and notably PEAR
|
||||||
|
[Net_LDAP2](https://pear.php.net/package/Net_LDAP2) (abandoned).
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
composer require brenard/eesyldap
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Manipulating LDAP filter strings
|
||||||
|
|
||||||
|
To create a new filter:
|
||||||
|
```php
|
||||||
|
// Match objects with uid equals 'admin'
|
||||||
|
// (uid=admin)
|
||||||
|
$filter = new \EesyLDAP\Filter('uid', 'equals', 'admin');
|
||||||
|
|
||||||
|
// Match objects with uid equals 'admin' and mail equals 'admin@example.com'
|
||||||
|
// (&(uid=admin)(mail=admin@example.com))
|
||||||
|
$filter = new \EesyLDAP\Filter(
|
||||||
|
'and',
|
||||||
|
new \EesyLDAP\Filter('uid', '=', 'admin'),
|
||||||
|
'mail=admin@example.com'
|
||||||
|
);
|
||||||
|
|
||||||
|
// Match objects with uid different than admin
|
||||||
|
// (!(uid=admin))
|
||||||
|
$filter = new \EesyLDAP\Filter('not', 'uid=admin');
|
||||||
|
|
||||||
|
// Match objects with uid attribute present
|
||||||
|
// (uid=*)
|
||||||
|
$filter = new \EesyLDAP\Filter('uid', 'present');
|
||||||
|
```
|
||||||
|
|
||||||
|
By default, all pattern value are automatically escape. To control it, add a boolean as last Filter
|
||||||
|
constructor argument:
|
||||||
|
|
||||||
|
```php
|
||||||
|
// Disable automatic escaping
|
||||||
|
// (uid=admin-*)
|
||||||
|
$filter = new \EesyLDAP\Filter('uid', '=', 'admin-*', false);
|
||||||
|
```
|
||||||
|
|
||||||
|
You also could escape/unescape value manually:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$escaped = \EesyLDAP\Filter::escape('Administrator (admin)');
|
||||||
|
$unescaped = \EesyLDAP\Filter::unescape('Administrator \28admin\29');
|
||||||
|
```
|
||||||
|
|
||||||
|
You also could parse an existing filter string with the `parse()` method:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$filter = \EesyLDAP\Filter::parse('(&(uid=admin)(mail=admin@example.com))');
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[GNU Lesser General Public License v3 (or later)](https://www.gnu.org/licenses/lgpl-3.0.en.html).
|
Loading…
Reference in a new issue