vyjmutí jedné adresy z routování
- 2bfree
- Člen | 248
Zdravím,
jelikož jsem v rámci nette MVP narazil na problém, že se nedá nejprve vykreslit kus šablony a pak teprve zpracovat nějaký kus kódu, jehož průběh by se přes funkce flush() a ob_flush() vykresloval, musím zvolit jinou cestu.
Napadlo mě tedy, že pro daný malý kus kódu bych napsal vlastní skript a teď bych potřeboval, aby jej routovací pravidla dovolila vykonat. Myslím tím, aby se adresa http://www.server.cz/mujskript.php nepřekládala jako Nette MVP, ale aby se opravdu zavolal soubor /mujskript.php
V ideálním případě, aby se požadavek na soubor /document_root/mujkript.php presmeroval na /app/scripts/mujskript.php
Představoval bych si to jako Hurvínek válku asi takhle:
V souboru bootstrap.php bych měl:
$router[] = new Route('mujskript.php','/app/scripts/mujskript.php);
- 2bfree
- Člen | 248
nAS napsal(a):
Já bych na to udělal pravidlo do
.htaccess
.
Zjistil jsem, že když mám soubor /document_root/mujskript.php a zavolám http://www.server.cz/mujskript.php, tak ho Nette opravdu načte tak jak jsem si představoval. Předtím, když jsem to zkoušel, jsem měl asi někde chybku. ;)
- jansfabik
- Člen | 193
2bfree napsal(a):
Druhá věc je, že přidáním pravidla se nedostanu do adresáře /app
Pravidlo
RewriteRule mujkript\.php$ /../app/mujskript.php [QSA,L]
vyvolá http error 400
tak si udělej skript mujskript.php v document root a dej do něj
require __DIR__ . '/../app/mujskript.php';
- 2bfree
- Člen | 248
Tak nakonec je to celé úplně zbytečné téma.
Účelem hry bylo průběžně vykreslovat průběh zpracování jednotlivých
operací.
Bylo mi porazeno, ať ty operace volám ajaxem. To se mi nelíbilo kvůli
závislosti na JS.
Nicméně mne dneska večer oslovil hlas podsvětí a řekl zrůdnou
myšlenku:
Když to bude volat ajax, tak to bude muset nejdřív vykreslit šablonu (View)
a teprve to View bude volat operace z Module. Takže co kdybych naprasil do
šablony to volání Module normální CurlyBracket cestou a jen tam přidal
patřičné funkce ob_flush() a flush().
Je to sice prasárna na entou, ale účel to plní. ;)