Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
motorovapila
Člen
Avatar
motorovapila:9.7.2018 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.7.2018 13:39
Avatar
dez1nd
Člen
Avatar
Odpovídá na motorovapila
dez1nd:10.7.2018 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.7.2018 6:44
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na motorovapila
Jindřich Máca:10.7.2018 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.7.2018 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.