Autor Zpráva
Matess
Profil *
Mám script, který až na konci vypíše nějaké data, ale já bych je potřebovat vypsat už na začátku scriptu.

Zkoušel jsem proměnné, define(), vlastní FCE ale nikdy se mi to nepovedlo.

Chci se teda zeptat zda li je to vůbec nějak technicky možné? Pokud ano, tak jak.

Já si myslím, že to asi nejde, ale možná se pletu.

Děkuji za vaše odpovědi.
Mastodont
Profil
?????
echo můžeš dát klidně hned za <?php, tomu nic nebrání.
jso
Profil *
Mastodont
Matess měl pravděpodobně na mysli vypsání výsledku (nějaká data) ze scriptu na začátku, zřejmě ještě před samotným vykonáním kódu. Pokud ty data získává ten daný script, tak to nejde. Jedině to rozložit na podúlohy.
Matess
Profil *
jso
Přesně tak.

Na podúlohy? Nechcete mě trochu nasměrovat? Vůbec nevím co to znamená.
jso
Profil *
Matess
Dle mého akorát jdete špatným směrem. Uveďte, co přesně chcete udělat, někdo poradí. Podúlohou jsem myslel funkci či procedůru, která by získávala ty data a vracela výsledek. Ten pak vypsat a pokračovat dále. Jiný smysl v tom nevidím.
Matess
Profil *
jso
No když tak si na to založím nové vlákno.
Děkuji za pomoc. Zkusím to rozdělit na ty podúlohy a uvidíme.

Díky
karbon
Profil *
Napadá mě použít buffering:
ob_start();
echo 'Nejaky vypis...';
$pred = ob_get_clean();
echo 'Text, ktery ma byt na zacatku';
echo $pred;
Radek9
Profil
A mě teď napadá. Je možnost jak definovat proměnnou na konci a vypsat ji na začátku?
<?php
echo $promenna;
$promenna = "text";
?>

Takto to samozřejmě nefunguje, ale zajímalo by mě jak se to dá udělat.
Alphard
Profil
Proč nepoužijete šablony? Nejdříve se data získají a zpracují, poté se vypíší výsledky.

Radek9
Řešením jsou právě šablony.
<?php
// teď jsme v části, která zpracovává data, v rámci MVC je to C
$promenna = "text"
//teď jsme v části, která data vypisuje (V)
echo $promenna;
?>
DJ Miky
Profil
Radek9
Ne přímo definovat proměnnou, ale můžeš to udělat funkcí. Přeskakovat v kódu nemůžeš, i když...
<?php
echo neco();

// ...

function neco() {
  return 'text';
}
?>
Radek9
Profil
Alphard:
Já to tak řeším, ale napadlo mě, jestli není i možnost jak to udělat takto.
DJ Miky:
Díky, zkusím.
Edit: Funguje. Díky ;-)

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