ltb-project/ltb-common

LTB项目应用的PHP框架

v0.3.0 2024-09-20 16:42 UTC

README

Latest Stable Version Latest Unstable Version Total Downloads CI Status Composer Status

演示

这是一个PHP库,用于在LTB应用程序(如自助密码白名单服务台等)之间共享代码。

安装

在您的 composer 配置中添加依赖项

{
    "require": {
        "ltb-project/ltb-common": "v0.2.1"
    }
}

然后更新依赖项

composer update

在代码中使用自动加载来加载composer依赖项

require __DIR__ . 'vendor/autoload.php';

用法

LDAP连接

$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;
}

测试

单元测试

获取composer依赖项

composer update

运行测试

vendor/bin/phpunit tests/Ltb

如果您想进行覆盖率分析,请确保安装了xdebug PHP扩展,并运行

XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-text --configuration phpunit.xml

集成测试

请确保您已安装docker或podman

获取composer依赖项

composer update

运行测试(需要网络连接以下载openldap docker镜像)

./runIntegrationTests.sh

如果您已经有了一个openldap服务器,您也可以修改tests/目录中的测试,并用以下方式运行它们:

vendor/bin/phpunit tests/IntegrationTests