w2w / apie-domain-plugin

此包已被废弃,不再维护。没有建议的替代包。

向Apie添加域名值对象

2.0.0 2020-09-10 15:46 UTC

This package is auto-updated.

Last update: 2022-06-12 09:59:54 UTC


README

Apie插件,用于使域名对象正常工作。

CircleCI codecov Travis Scrutinizer Code Quality

这是通过jeremykendall/php-domain-parser库实现的。

安装

只需使用composer安装此包。

composer require w2w/apie-domain-plugin

直接在Apie中使用它

如果您没有使用框架,可以在创建Apie对象时轻松地使其工作。

<?php
use W2w\Lib\Apie\Apie;
use W2w\Lib\ApieDomainPlugin\DomainPlugin;

$apie = new Apie([new DomainPlugin()], true, null);

如果您想模拟获取公共后缀的调用或进行自己的php域名解析器的初始化,您可以在构造函数中提供它

<?php
use Pdp\Cache;
use Pdp\Manager;
use Pdp\Rules;
use W2w\Lib\Apie\Apie;
use W2w\Lib\ApieDomainPlugin\DomainPlugin;
use W2w\Lib\ApieDomainPlugin\HttpClient\MockHttpClient;

$manager = new Manager(
    new Cache(sys_get_temp_dir()),
    new MockHttpClient()
);
$rules = $manager->getRules(Rules::ICANN_DOMAINS);

$apie = new Apie([new DomainPlugin($rules)], true, null);

与Laravel-apie集成

如果您使用带有w2w/laravel-apie的Laravel使用apie,只需使用composer安装此包。如果自动绑定关闭,则需要手动将W2w\Lib\ApieDomainPlugin\DomainPluginServiceProvider::class添加到服务提供者列表中。

您仍需手动将插件添加到laravel-apie的配置中

<?php
// config/apie.php
use W2w\Lib\ApieDomainPlugin\DomainPlugin;

return [
    'plugins' => [DomainPlugin::class],
];

模拟

通过环境变量APIE_DOMAIN_PLUGIN_MOCK,您可以启用模拟,这也建议用于测试。它将加载静态文件而不是公共后缀。