ltb-project / ldap
PHP framework for LTB project applications
Requires
- php: >=7.4
- ext-ldap: >=7.4
- phpmailer/phpmailer: ^6.5.0
Requires (Dev)
- mockery/mockery: >=1.4
- phpunit/phpunit: >=8
This package is auto-updated.
Last update: 2024-04-25 18:07:45 UTC
README
Presentation
This is a PHP library to share code between LTB applications like Self Service Password, White Pages, Service Desk, ...
Installation
Add the dependency in your composer configuration:
{ "require": { "ltb-project/ldap": "v0.2" } }
Then update dependencies:
composer update
Use autoloading in your code to load composer dependencies:
require __DIR__ . 'vendor/autoload.php';
Usage
LDAP connection
$ldap_url = "ldap://ldap.example.com"; $ldap_starttls = false; $ldap_binddn = "cn=admin,dc=example,dc=com"; $ldap_bindpw = "secret"; $ldap_network_timeout = 3; $ldap_user_base = "ou=people,dc=example,dc=com"; $ldap_size_limit = 1000; $ldap_krb5ccname = null; $ldapInstance = new \Ltb\Ldap( $this->ldap_url, $this->ldap_starttls, $this->ldap_binddn, $this->ldap_bindpw, $this->ldap_network_timeout, $this->ldap_user_base, $this->ldap_size_limit, $this->ldap_krb5ccname ); $ldap_connection = $ldapInstance->connect(); $ldap = $ldap_connection[0]; $result = $ldap_connection[1]; if (!$result) { error_log("Unable to connect to $ldap_url"); exit 1; }
Tests
Unit tests
Get composer dependencies:
composer update
Run the tests:
vendor/bin/phpunit tests/Ltb
If you want coverage analysis, make sure to install xdebug
PHP extension, and run:
XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-text --configuration phpunit.xml
Integration tests
Make sure you have docker or podman installed
Get composer dependencies:
composer update
Run the tests (requires an internet connection for donwloading the openldap docker image):
./runIntegrationTests.sh
If you already have an openldap server, you can also adapt the tests in tests/ directory, and run them with:
vendor/bin/phpunit tests/IntegrationTests