Umístění „běžných“ funkcí

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
medhi
Generous Backer | 255
+
0
-

Ahoj, začínám s Nette, zkušebně tvořím klasické fórum, na kterém jsem již pochopil základní principy. Jelikož jsem ale nikdy s objekty nepracoval tak naplno jako nyní, nevím přesně kam v Application umístit běžné a často používané funkce (převody různých jednotek nebo formátů, výpočty všeho možné, generátor hesla apod). Zatím jsem odpověď nenašel ani na fóru ani v dokumentaci. Děkuji mnohokrát.

pmg
Člen | 372
+
0
-

Doporučený postup jsem nikde neviděl, nicméně jednou z možností je funkce seskupit do „statické“ třídy, kterou umístíme do adresáře components.

class Helpers
{
	public static function doSomething()
	{
		// ...
	}
}

Výhodou je, že když se někde v presenteru zavolá Helpers::doSomething(), daná třída se automaticky načte. Dále lze funkce pěkně tematiky uspořádat.

kravčo
Člen | 721
+
0
-

Je to vec osobnej preferencie, no ja adresár components/ používam výhradne na triedy implementujúce IComponent. Ak používaš RobotLoader a registruješ štandardné adresáre %appDir% + %libsDir, môžeš túto triedu umiestniť kamkoľvek v rámci nich – o zvyšok sa postará RobotLoader.