PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

Basic CRUD operations

Retrieving data from the LDAP

Example 515. Getting an entry by its DN

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$hm $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local');
/*
$hm is an array of the following structure
array(
    'dn'          => 'cn=Hugo Müller,ou=People,dc=my,dc=local',
    'cn'          => array('Hugo Müller'),
    'sn'          => array('Müller'),
    'objectclass' => array('inetOrgPerson', 'top'),
    ...
)
*/

Example 516. Check for the existence of a given DN

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$isThere $ldap->exists('cn=Hugo Müller,ou=People,dc=my,dc=local');

Example 517. Count children of a given DN

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$childrenCount $ldap->countChildren(
                            
'cn=Hugo Müller,ou=People,dc=my,dc=local');

Example 518. Searching the LDAP tree

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$result $ldap->search('(objectclass=*)',
                        
'ou=People,dc=my,dc=local',
                        
Zend_Ldap_Ext::SEARCH_SCOPE_ONE);
foreach (
$result as $item) {
    echo 
$item["dn"] . ': ' $item['cn'][0] . PHP_EOL;
}

Adding data to the LDAP

Example 519. Add a new entry to the LDAP

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$entry = array();
Zend_Ldap_Attribute::setAttribute($entry'cn''Hans Meier');
Zend_Ldap_Attribute::setAttribute($entry'sn''Meier');
Zend_Ldap_Attribute::setAttribute($entry'objectClass''inetOrgPerson');
$ldap->add('cn=Hans Meier,ou=People,dc=my,dc=local'$entry);

Deleting from the LDAP

Example 520. Delete an existing entry from the LDAP

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$ldap->delete('cn=Hans Meier,ou=People,dc=my,dc=local');

Updating the LDAP

Example 521. Update an existing entry on the LDAP

<?php
$options 
= array(/* ... */);
$ldap = new Zend_Ldap($options);
$ldap->bind();
$hm $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local');
Zend_Ldap_Attribute::setAttribute($hm'mail''mueller@my.local');
Zend_Ldap_Attribute::setPassword($hm,
                                 
'newPa$$w0rd',
                                 
Zend_Ldap_Attribute::PASSWORD_HASH_SHA1);
$ldap->update('cn=Hugo Müller,ou=People,dc=my,dc=local'$hm);

Zend Framework