tutu-ru / lib-host-alias-resolver
解析主机别名
1.0.1
2019-02-08 12:47 UTC
Requires
- php: ^7.1
- tutu-ru/lib-config: ^2.0
Requires (Dev)
- phpunit/phpunit: ^7.4
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-09-09 02:20:19 UTC
README
该库能做三件事情
- 通过别名获取完整的URI地址(resolve)
- 通过别名获取主机或资源地址(getHostByAlias)
- 获取当前主域名下的子域名(getWithEnvDomain)
配置
配置节点
infrastrucrute.env.domain
- 服务的主体域名infrastructure.host_alias_resolver
- 存储主机别名和资源地址的存储库,例如rus.desktop.mainpage
- 网站桌面俄语版本的首页external.partnerApi
- 合作伙伴API地址internal.ourApi
- 内部资源地址
初始化
/** @var \TutuRu\Config\ConfigInterface $configContainer */ $resolver = new HostAliasResolver($configContainer); print $resolver->resolve('mainpage.desktop.rus/query?arg=1#hash'); print $resolver->getHostByAlias('services.partnerApi');
使用特点
别名需要按相反顺序设置
resolve
// rus.desktop.mainpage = main.host.com print $resolver->resolve('mainpage.desktop.rus/query?arg=1#hash'); // выведет https://main.host.com/query?arg=1#hash // https:// в ноде нет, resolve подставляет его сам
getHostByAlias
// external.partnerApi = https://somerestapi.com print $resolver->getHostByAlias('partnerApi.external'); // выведет https://somerestapi.com
如果没有找到别名节点,则返回同一别名的 getWithEnvDomain
。