Jak to přenést do Nette? Statická třída → Helper?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Kcko
Člen | 469
+
0
-

Ve starém CMS jsem měl něco na způsob této „třídy“ (ve skutečnosti složitější s vícero metodami), která mi sloužila k nahrazování smajlíků v komentářích na webu.

Přemýšlím jak to „přenést“ do Nette. Asi je jasné, že to bude helper, ale nejsem si jist, jak tam zakomponovat tu „statiku“ tj proměnné a tu první metodu, která se zavolá jen 1× (resp asi podobně jako tady ale nebude to prasárna? A hlavně tady mám 2 oddělené metody, jak to udělat v helperu?)

Díky

<?php

class Smileys
{

	public static $old_smileys    = array();
	public static $new_smileys    = array();
	public static $old_smileys_th = array();
	public static $new_smileys_th = array();


	public static function prepareSmileys($text)
	{
		if (!count(self::$old_smileys) && !count(self::$new_smileys))
		{
			for ($i = 1; $i <= 136; $i++)
			{

				$pic = 'dir=4&pic='.$i.'.gif&par='.@filemtime('./images/smileys/'.$i.'.gif');

				self::$old_smileys[] = '*'.$i.'*';
				self::$new_smileys[] = '<img src="/pic.php?'.$pic.'/'.$i.'.gif" alt="*'.$i.'*" />';
			}
		}

	}


	public static function replaceSmileys($text)
	{
		self::prepareSmileys(); //

		$text = str_replace(self::$old_smileys, self::$new_smileys, $text);
		return $text;
	}
Kcko
Člen | 469
+
0
-

LOCK. Vyřešeno (vytvořeno jako normální nestatická třída, zaregistrovaná v neonu, zaregistrovaný helper v presenteru, vyvolání helperu v šabloně).

Thx @matej21