Autor Zpráva
gaminn
Profil *
Zdravím,
ve svém projektu používám velké množství různých funkcí, které ale nejsou při volání každé stránky potřeba všechny. Tudíž není nutné všechny soubory se všemi funkcemi při každém běhu skriptů zahrnout do stránky. Rád bych tedy vložil funkci do stránky vždy až bude nutnost jejího použití. Tedy něco na způsob funkce __autoload() pro načtení třídy, které ještě načtena nebyla. Má nějak PHP 5 zahrnutou stejnou podporu i pro funkce?

Např. volám funkci xyz(), tato funkce ještě nebyla deklarována, takže se zavolá fiktivní funkce __autoload_function(), která mi vložení souboru s touto funkcí ošetří.
tiso
Profil
Takýto postup je kontraproduktívny. Radšej si rozdeľ funkcie tematicky do pár súborov a volaj si tie súbory ktoré budeš potrebovať.
gaminn
Profil *
To je mi jasné, mírně náročnější na výkon to bude. Ale nebude to zase tak hrozné, funkcí je sice hodně, ale při každém jednotlivém běhu se jich nevolá přílišný počet. Přijde mi to jako celkem dobré řešení, např. z pohledu údržby kódu, přehlednosti.
tiso
Profil
Ono samotné include nejaký čas trvá, treba nájsť kompromis medzi veľkosťou zabranej pamäte (vložia sa funkcie ktoré nepotrebuješ ale bude menej súborov) a počtom volaných súborov (veľakrát include, ale šetríš pamäť)
gaminn
Profil *
Jsem si vědom, co znamená, pokud bych danou metodu použil, takže - mohli bychom se vrátit k původně položené otázce? Našel jsem pouze takové kostrbaté řešení, kdy bylo nutné volat pomocnou třídu, např. trida::get->moje_funkce, kde trida::get vracela jedinou instanci třídy (tedy model Singleton) a moje_funkce nebyla metoda dané třídy, takže se volala magická metoda __call, která vložila soubor s funkcí a potom funkci se všemi parametry zavolala. Takovou věc bych ale používat rozhodně nechtěl. Nemá tedy někdo ponětí i o jiném řešení?
Toto téma je uzamčeno. Odpověď nelze zaslat.