Ahoj všem,
Zde ja pár doporučení pro programování na Aitom5:
1)
Nette component factories
DULEZITE: pokud píšete továrnu na Nette komponentu v presenteru, či
v komponentě. Měla by být
protected. To platí už od začátku,
jen jsme si to tolik nehlídali a rozmohlo se to.
https://aitomgroup.atlassian.net/browse/APET-86
2)
Extension
Nette 2.1 umoňuje definovat extension přímo v neonu, včetě jeno
případných parametrů. Už to nebudeme dávat do bootstrapu.
http://doc.nette.org/cs/2.1/di-extensions
https://aitomgroup.atlassian.net/browse/APET-165
http://filip-prochazka.com/blog/piseme-rozsireni-compileru-pro-nette-framework
3)
anonymní služby
Je to novinka v Nette 2.1 Pokud se na službu v rámci DI nepotřebuje
dále odkazovat podle jejího symbolu, zapisujte ji anonymně.
services:
- \Aitom\Be\SystemConfig\LayoutModel
4)
modely
Připravuje se velký refaktoring základních modelů. Obecně je zatím
nejvýhodnější aby měli každý modul v případě potřeby svůj vlastní a
právě jediný model. Tento model se pak v konstruktoru sám naváže na
případné základní modely. Toto převrstvení nám umožní jednoduše
izoval potřeby modulu a zároveň očistit základní modely, které
momentálně obsahují mnoho balastu, který mnohdy potřebuje jeden
modul.
Presenter pak vždy injectuje pouze jediný model.
Náznak, jak by to mělo vypadat je v Aitom\Be\PageManager
5)
injectory v presenterech a komponentách
Aktuálně se to snažíme psát tak, aby každý presenter, čí nette
komponenta obasoval pouze jediný injector, který má v názvu název
třídy a pro případné nechtěné přepsaní je metoda ochráněna pomocí
final.
Příklad: final public function injectDefaultPresnter(..., ...);