21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
janekoslav
Profil *
ahoj, ještě dotázek ...
mám hromadu scriptů s třídymi funkcemi atd ... tyto třídy jsou každá v jednom souboru ... cesty k těmto souborům mám uložené ve zvláštním souboru ...
takže předtím než chci vložit nějaký script musím vložit soubor s cestami ...
problém je v tom že ten soubor s cestami je pevně zadrátován v těch scriptech a když chci přemístit soubor s cestami do jiné složky například, tak musím otevřít každý script a ručně přepsat cesut ....
neexistuje něco, nějaký nástroj v PHP který by danému "sestavení" PHP řekl ... když budeš nahrávat ten a ten script, automaticky nahrej i tento soubor ... (nebo něco takového) ...
prosím pomozte ...
díky ...
Majkl578
Profil
K tomu slouží autoloading objektů. Viz funkce spl_autoload.
janekoslav
Profil *
Majkl578:
jestli jem tu fci pohopil dobře: to je načítání tříd; já potřebuji načtení jednoho souboru globálně ... když zapnu jakýkoliv script tak abych ho už nemusel vkládat...
Majkl578
Profil
Aha, tato funkce by zajistila přímo automatické načítání souborů daných tříd. Automaticky vkládat soubor asi nepůjde (aniž by jsi to scriptu nějak řekl).
Koudis
Profil
asi ne, myslel jsem že je možné nějak říct, pokaždé vlož tento soubor ... ale asi ne ... necham to tak ... jeden soubour statický, to se dá :)....
(nešla byb udělaj nějaká superglobáoní proměnná do které bych uložil cestu a tu proměnnu bych mohl volat v jakémkoliv scriptu ?)
Alphard
Profil
Lze to řešit, ale těžko bez citelného zásahu do celé aplikace. Tohle jsou v podstatě základy, kterými jste měl začít při návrhu.
Inspirací budiž Nette Framework: adresářová struktura aplikace - Zdroják. Je to psané o Nette, ale lze se inspirovat obecně. Hlavně statická třída Environment (plní funkci vaši superglobální proměnné) a zavaděč RobotLoader (na něj byste našel i negativní názory, ale třeba já ho rád používám).
Koudis
Profil
dík to je ono ....

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0