Diskuze: Podstránky

PHP PHP Podstránky American English version English version

Avatar
Martin Štěpánek (Enormyk):

Ahoj,
používám normální skládání stránek jako je v tutoriálu tady na ITnetworku. Na začátku indexu, do kterého se vkládají mám klasickou funkci nactiTridu() pro načtení potřebných tříd. Toto funguje.
Jenže teď jsem začal dělat, že ten, kdo má podporu js, vkládají se mu podstránky ajaxem.
Tady přichází problém. Ve chvíli, kdy vložím podstránku ajaxem, napíše mi to, že jsem neimportoval potřebné třídy. Samozřejmě se nabízí možnost, že bych v každé podstránce všechny potřebné třídy vkládal, jenže to by bylo vcelku "náročné" a nepřijde mi to jako nejlepší možnost. Nevíte někdo, jak to udělat jinak?
Předem moc děkuji za pomoc.
M.

Odpovědět  ±0 17. dubna 21:44
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Martin Štěpánek (Enormyk)
Jindřich Máca:

Ahoj, z dotazu jsem pochopil problém, ale asi úplně nechápu fungování stránky, nejspíš kvůli špatnému užití pojmů. Každopádně se pokusím odpověď, jak nejlépe svedu.

  • Pro načítání tříd v PHP se standardně nepoužívá volání funkce, ale tzv. autoloader - http://www.itnetwork.cz/…er-kontroler (možná jsi to tak myslel, ale špatně jsi se vyjádřil)
  • Dále jsem úplně nepochopil to "vkládání podstránky", ale AJAXem může vkládat co chceš, kam chceš, takže se v tom nebudu šťourat. Každopádně problém vidím v tom zjišťování podpory JS na straně serveru. I když jsou nějaké způsoby, jak to napsat, rozhodně to není 100% a dal bych si na to velký pozor.
  • No a teď k tomu problému. Mám totiž trochu dojem, že úplně nevíš, jak funguje ten AJAX požadavek. Při něm se totiž na straně serveru musí sestavit příslušná část aplikace se všemi jejími třídami. Takže pokud sis to nešťastně rozdělil do nezávislých souborů, musíš opravdu v každém z nich načítat všechny třídy, které tam používáš.

Závěr tedy je, že pokud to načítání chceš udělat nějak centralizovaně, pečlivě nastuduj ten odkaz o autoloaderu a související články, kde se píše i o routování apod. ;)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 18. dubna 13:46
Avatar
Martin Štěpánek (Enormyk):
  • no já přes autoloader volám funkci :-)
  • já to nezjišťuji na straně serveru, ale prostě je to udělané, tak že pokud je js vypnutý, tak to funguje normálně
  • já vím jen jsem se chtěl ujistit, jestli to nějak nejde :-)

Ale už jsem si s tím poradil - přes ajax vkládám soubor, ve kterém je autoloader a teprve v něm requiruji třídy :)

Nahoru Odpovědět  +1 18. dubna 14:43
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.