Diskuze: nette vyuziti modelu v jinsim modulu

PHP PHP nette vyuziti modelu v jinsim modulu American English version English version

Aktivity (1)
Avatar
motorovapila
Člen
Avatar
motorovapila:9. července 13:39

Zdravim,
prosim o radu.

vyuzivam nette v 2.4
lze mezi moduly(web1,web2­,web3,apiUser) vyuzivat mezi sebou modely? Npr. v modulu web1 budu vyuzivat model apiUser

v modulu web1: config/config.neon bych zaregistroval:

services
App**apiUser**\Mo­del\Test
struktura webu by vypadala takto

--app
---web1
-----config
-----forms
-----presenter
-----model
-----router
-----templates
---web2
-----config
-----forms
-----presenter
-----model
-----router
-----templates
---web3
-----config
-----forms
-----presenter
-----model
-----router
-----templates
---apiUser
-----config
-----forms
-----presenter
-----model
-----router
-----templates

netusite jak tohle vyresit? Zda to vubec jde.

napadaji me 2 reseni:

  1. V kazdem modulu mit stejny model :-/ ale toto reseni se mi nelibi
  2. Vyuzit SOAP/REST API

Predem moc dekuji za kazdou radu.

Zkusil jsem: Kdyz jsem zkousel zaregistrovat v modulu web1 => config.neon

services
App**apiUser**\Mo­del\Test

tak mi to chcipne na Service not found :/

Chci docílit: Potrebuji v modulech(web1,we­b2,web3) vyuzivat "vseobecny model" apiUser

web1 => config.neon:

services
App**apiUser**\Mo­del\Test

web2 => config.neon:

services
App**apiUser**\Mo­del\Test

web3 => config.neon:

services
App**apiUser**\Mo­del\Test
 
Odpovědět 9. července 13:39
Avatar
dez1nd
Člen
Avatar
Odpovídá na motorovapila
dez1nd:10. července 6:44

Na toto se dle mého hodí dědičnost.
Tvoje moduly web1, web2, web3 budou mít svoje vlastní modely, které dědí z apiUser modelu.
Tím docílíš stejného výsledku.

 
Nahoru Odpovědět 10. července 6:44
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na motorovapila
Jindřich Máca:10. července 11:59

Zdravím, dědičnost by asi fungovala, ale tady se nabízí mnohem jednoduší řešení. Prostě ty věci, co mají moduly sdílet, nech v nadřazeném adresáři tj. app/. Běžně se to tak dělá. :)

Takový jednoduchý příklad:

  • app/
    • config/
      • // Načtení sdíleného modelu.
    • model/
      • SdilenyModel.php
    • modul1/
      • config/
        • // Načtení modelu pro modul1.
      • model/
        • ModelModulu1.php
    • modul2/
      • config/
        • // Načtení modelu pro modul2.
      • model/
        • ModelModulu2.php

Pak je ještě důležité, aby se ze všeho nejdřív načetla konfigurace sdílené části a pak až konfigurace jednotlivých modulů. ;)

 
Nahoru Odpovědět 10. července 11:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.