nks-hub/nette-ares
Composer 安装命令:
composer require nks-hub/nette-ares
包简介
Nette extension for Czech ARES API — company lookup by IČO, search by name, structured results with caching. PHP 8.1+.
README 文档
README
Nette DI extension pro ARES (Administrativní registr ekonomických subjektů) — vyhledávání firem podle IČO i názvu s automatickým cachováním výsledků. PHP 8.1+.
Features
- 🔍 Vyhledání podle IČO — strukturovaný výsledek s adresou, DIČ, právní formou
- 📝 Fulltextové vyhledávání — hledání firem podle názvu s limitem výsledků
- 💾 Automatické cachování — konfigurovatelný TTL (výchozí 1 měsíc)
- ✅ Kontrola aktivity — ověření, zda firma není zaniklá
- 🎯 Nette integrace — DI extension s auto-registrací přes
composer.json - 🛡️ Type-safe — PHP 8.1+ s strict types a typed properties
Requirements
- PHP 8.1+
- Nette 3.1+ / 4.0+
Instalace
composer require nks-hub/nette-ares
Registrace
Extension se registruje automaticky díky extra.nette.extensions v composer.json.
Ruční registrace v config.neon:
extensions: ares: NksHub\NetteAres\DI\AresExtension
Konfigurace (volitelná)
ares: cacheTtl: '1 month' # Jak dlouho cachovat výsledky (výchozí: 1 month)
Použití
Vyhledání firmy podle IČO
use NksHub\NetteAres\AresClient; use NksHub\NetteAres\AresException; class MyPresenter extends Nette\Application\UI\Presenter { public function __construct( private AresClient $ares, ) {} public function actionDetail(string $ico): void { try { $result = $this->ares->findByIco($ico); echo $result->obchodniJmeno; // "Asseco Central Europe, a.s." echo $result->ico; // "27074358" echo $result->dic; // "CZ27074358" echo $result->getStreet(); // "Budějovická 778/3a" echo $result->getCity(); // "Praha - Michle" echo $result->getFormattedPsc(); // "140 00" echo $result->kodStatu; // "CZ" } catch (AresException $e) { $this->flashMessage($e->getMessage(), 'danger'); } } }
Vyhledání firem podle názvu
$results = $this->ares->searchByName('Asseco', limit: 5); foreach ($results as $result) { echo "{$result->obchodniJmeno} (IČO: {$result->ico})\n"; }
Kontrola aktivity firmy
if ($this->ares->isActive('27074358')) { echo 'Firma je aktivní'; }
Získání DIČ
$dic = $this->ares->getDic('27074358'); // "CZ27074358" nebo null
Použití v AJAX handleru (typicky pro formuláře)
public function handleAresLookup(string $ico): void { try { $result = $this->ares->findByIco($ico); $this->sendJson($result->toArray()); } catch (AresException $e) { $this->sendJson(['error' => $e->getMessage()]); } }
toArray() vrací:
[
'ico' => '27074358',
'dic' => 'CZ27074358',
'company' => 'Asseco Central Europe, a.s.',
'street' => 'Budějovická 778/3a',
'city' => 'Praha - Michle',
'zip' => '140 00',
'country' => 'CZ',
'textovaAdresa' => 'Budějovická 778/3a, Michle, 14000 Praha 4',
]
Cache
Výsledky se automaticky cachují (výchozí: 1 měsíc). Manuální invalidace:
$this->ares->clearCacheByIco('27074358'); // konkrétní IČO $this->ares->clearCache(); // celý ARES cache
AresResult
Objekt AresResult obsahuje:
| Property | Typ | Popis |
|---|---|---|
ico |
string |
IČO (8 číslic) |
dic |
?string |
DIČ (formát CZ + IČO) |
obchodniJmeno |
string |
Obchodní jméno |
pravniForma |
?string |
Kód právní formy |
ulice |
?string |
Název ulice |
cisloDomovni |
?int |
Číslo popisné |
cisloOrientacni |
?int |
Číslo orientační |
mesto |
?string |
Obec |
castObce |
?string |
Část obce |
psc |
?int |
PSČ |
kodStatu |
?string |
Kód státu |
textovaAdresa |
?string |
Celá adresa textem |
datumVzniku |
?string |
Datum vzniku |
datumZaniku |
?string |
Datum zániku |
Helper metody: getStreet(), getCity(), getFormattedPsc(), toArray().
API
Extension využívá oficiální ARES REST API v3:
GET /ekonomicke-subjekty/{ico}— vyhledání podle IČOPOST /ekonomicke-subjekty/vyhledat— fulltextové vyhledávání
Bez autentizace, bez rate-limitu ze strany ARES (doporučujeme rozumné cachování).
Testing
./vendor/bin/tester tests
Contributing
Pull requesty jsou vítány! Pro větší změny prosím nejprve otevřete issue.
- Fork repozitáře
- Vytvořte feature branch (
git checkout -b feature/nova-funkce) - Commit změn (
git commit -m 'feat: popis') - Push branch (
git push origin feature/nova-funkce) - Otevřete Pull Request
Podpora
- 📧 Email: dev@nks-hub.cz
- 🐛 Bug reports: GitHub Issues
- 📖 ARES API docs: ares.gov.cz
Licence
MIT License — viz LICENSE
Made with ❤️ by NKS Hub
nks-hub/nette-ares 适用场景与选型建议
nks-hub/nette-ares 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「dic」 「nette」 「company」 「czech」 「ico」 「ares」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 nks-hub/nette-ares 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 nks-hub/nette-ares 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 nks-hub/nette-ares 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
公司(公司网站、企业站)
PhpPlaisio: Company Resolver
PhpPlaisio: Uni Company Resolver
PhpPlaisio: Database - Company
Nette Framework adapter for I18n package
PHP 8.1-8.5 compatible fork of rdlowrey/auryn — a dependency injector for bootstrapping object-oriented PHP applications.
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 28
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-26