Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Zend Ldap Laravel Package

zendframework/zend-ldap

Zend LDAP provides PHP tools for LDAP directory operations like binding, searching, and modifying entries. This repository was abandoned on 2019-12-31 and has moved to laminas/laminas-ldap.

View on GitHub
Deep Wiki
Context7

Serializing LDAP data to and from LDIF

Serialize a LDAP entry to LDIF

use Zend\Ldap\Ldif\Encoder;

$data = [
    'dn'                         => 'uid=rogasawara,ou=営業部,o=Airius',
    'objectclass'                => [
        'top',
        'person',
        'organizationalPerson',
        'inetOrgPerson',
    ],
    'uid'                        => ['rogasawara'],
    'mail'                       => ['rogasawara@airius.co.jp'],
    'givenname;lang-ja'          => ['ロドニー'],
    'sn;lang-ja'                 => ['小笠原'],
    'cn;lang-ja'                 => ['小笠原 ロドニー'],
    'title;lang-ja'              => ['営業部 部長'],
    'preferredlanguage'          => ['ja'],
    'givenname'                  => ['ロドニー'],
    'sn'                         => ['小笠原'],
    'cn'                         => ['小笠原 ロドニー'],
    'title'                      => ['営業部 部長'],
    'givenname;lang-ja;phonetic' => ['ろどにー'],
    'sn;lang-ja;phonetic'        => ['おがさわら'],
    'cn;lang-ja;phonetic'        => ['おがさわら ろどにー'],
    'title;lang-ja;phonetic'     => ['えいぎょうぶ ぶちょう'],
    'givenname;lang-en'          => ['Rodney'],
    'sn;lang-en'                 => ['Ogasawara'],
    'cn;lang-en'                 => ['Rodney Ogasawara'],
    'title;lang-en'              => ['Sales, Director'],
];

$ldif = Encoder::encode($data, ['sort' => false, 'version' => null]);

/*
$ldif contains:
dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: rogasawara
mail: rogasawara@airius.co.jp
givenname;lang-ja:: 44Ot44OJ44OL44O8
sn;lang-ja:: 5bCP56yg5Y6f
cn;lang-ja:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
title;lang-ja:: 5Za25qWt6YOoIOmDqOmVtw==
preferredlanguage: ja
givenname:: 44Ot44OJ44OL44O8
sn:: 5bCP56yg5Y6f
cn:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
title:: 5Za25qWt6YOoIOmDqOmVtw==
givenname;lang-ja;phonetic:: 44KN44Gp44Gr44O8
sn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJ
cn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJIOOCjeOBqeOBq+ODvA==
title;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2IOOBtuOBoeOCh+OBhg==
givenname;lang-en: Rodney
sn;lang-en: Ogasawara
cn;lang-en: Rodney Ogasawara
title;lang-en: Sales, Director
*/

Deserialize a LDIF string into a LDAP entry

use Zend\Ldap\Ldif\Encoder;

$ldif = "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: rogasawara
mail: rogasawara@airius.co.jp
givenname;lang-ja:: 44Ot44OJ44OL44O8
sn;lang-ja:: 5bCP56yg5Y6f
cn;lang-ja:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
title;lang-ja:: 5Za25qWt6YOoIOmDqOmVtw==
preferredlanguage: ja
givenname:: 44Ot44OJ44OL44O8
sn:: 5bCP56yg5Y6f
cn:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
title:: 5Za25qWt6YOoIOmDqOmVtw==
givenname;lang-ja;phonetic:: 44KN44Gp44Gr44O8
sn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJ
cn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJIOOCjeOBqeOBq+ODvA==
title;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2IOOBtuOBoeOCh+OBhg==
givenname;lang-en: Rodney
sn;lang-en: Ogasawara
cn;lang-en: Rodney Ogasawara
title;lang-en: Sales, Director";

$data = Encoder::decode($ldif);

/*
$data = [
    'dn'                         => 'uid=rogasawara,ou=営業部,o=Airius',
    'objectclass'                => [
        'top',
        'person',
        'organizationalPerson',
        'inetOrgPerson',
    ],
    'uid'                        => ['rogasawara'],
    'mail'                       => ['rogasawara@airius.co.jp'],
    'givenname;lang-ja'          => ['ロドニー'],
    'sn;lang-ja'                 => ['小笠原'],
    'cn;lang-ja'                 => ['小笠原 ロドニー'],
    'title;lang-ja'              => ['営業部 部長'],
    'preferredlanguage'          => ['ja'],
    'givenname'                  => ['ロドニー'],
    'sn'                         => ['小笠原'],
    'cn'                         => ['小笠原 ロドニー'],
    'title'                      => ['営業部 部長'],
    'givenname;lang-ja;phonetic' => ['ろどにー'],
    'sn;lang-ja;phonetic'        => ['おがさわら'],
    'cn;lang-ja;phonetic'        => ['おがさわら ろどにー'],
    'title;lang-ja;phonetic'     => ['えいぎょうぶ ぶちょう'],
    'givenname;lang-en'          => ['Rodney'],
    'sn;lang-en'                 => ['Ogasawara'],
    'cn;lang-en'                 => ['Rodney Ogasawara'],
    'title;lang-en'              => ['Sales, Director'],
];
*/
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4