(ne)povinný getter
- Aleš
- Člen | 30
Zdravím,
nešlo by udělat gettery nepovinné? Nevidím důvod proč by povinné být měli.
Využití vidím například následujcí.
- Mám model tahajcí jeden řádek z DB.
- V modelu mám vlastní __get, který vrátí (pokud existuje) daný sloupeček z vyčteného řádku.
- K tomu mám napsané jednotlivé settery pro sloupečky (ošetřují např datum posledni úpravy, konzistenci dat atp)
Jenže Nette při pokusu o zápis bude hlasit ( a hlásí :-( ) že proměnná neexistuje. (Protože před ověřením setterů nejdřív ověřuje get/is, ale ty neexistují).
Takže mám na výběr
- buď si napsat vlasní setter (zbytečný kód navíc, ale prozatím jsem skončil tady)
- vytvořit dummy get funkci ( která nebude nikdy volána ale Nette bude mít radost že existuje a povolí mi setter)
- upravit si ObjectMixin (což je blbost)
Rád bych tedy věděl zda je nějaký objektivní důvod proč jsou gettery povinné a zda to není jenom malá okrasa, popřípadě zda by nešla tat vychytávka dopříště vypustit.
- Aleš
- Člen | 30
Fajn tak o co mi jde se mi už koukám podařilo vysvětlit. Teď ještě zkusím znova přepsat na co se ptám.
Jak to vyřešit vím (to bych jinak nepsal jsem ale do řešení potíží), ale i tak díky za radu (taky jsem to tak udělal, je to v prvním postu)
Klíčová otázka tedy je:
Existuje nějaký objektivní důvod proč tomu tak je?
- David Grudl
- Nette Core | 8249
Write-Only properties se obvykle považují za chybu návrhu, proto je Nette nepodporuje.