Json to Object mapping – doplňek/knihova či jiné řešení
- Shampoo
- Člen | 38
Před několika dny jsem rozjel komunikaci mobilní s webovou aplikací přes RestApi (Drahak/Restful) a nyní potřebuji namapovat přijatý json na object vlastní třídy.
Rád bych použil něco podobného PHP knihovny JsonMapper. Existuje aleternativa pro Nette, nebo lze includovat přímo PHP knihovnu?
Nerad bych to dělal ručně přes Nette\Utils\Json decode().
Díky moc
- Michal Vyšinský
- Člen | 608
Jistě tě jde použít jakákoliv knihovna. Nette je pořád jen php :)
Doporučoval bych si třídu JsonMapper zaregistrovat jako službu a hezky si ji injektnout kde je potřeba.
Editoval Michal Vyšinský (10. 6. 2015 8:48)
- Shampoo
- Člen | 38
Michal Vyšinský napsal(a):
Jistě tě jde použít jakákoliv knihovna. Nette je pořád jen php :)
Doporučoval bych si třídu JsonMapper zaregistrovat jako službu a hezky si ji injektnout kde je potřeba.
Díky moc za info, nicméně jsem v Nette nováček a nějak si nevím rady,
jak knihovnu zaregistrovat jako službu.
Vím, že registrace probíhá v config souboru (config.neon) v sekci
services, ale nevím si rady s cestou k dané třídě.
Třídu jsem zkopíroval do vendor\jsonmapper\src\JsonMapper.php Našel jsem tutoriál, kde je registrace pospána, nicméně mi dané cesty vůbec nesedí.
- Pavel Kravčík
- Člen | 1195
Instaluj přes composer do Vendor. Nebo si jí dej do /lib/ v /app/ a nalinkuje Ti jí RobotLoader.
- Michal Vyšinský
- Člen | 608
Ano instaluj pomocí composeru. Ruční přidávání do libs bych radil jen v případě, že knihovna nepodporuje composer – pak bych ale hledal jinou knihovnu.
Po instalaci přidej do svého configu:
services:
- JsonFormatter
a pak si ji můžeš injektnout do jiné služby přes konstruktor
Editoval Michal Vyšinský (10. 6. 2015 11:04)