Autor Zpráva
snazimse
Profil
Zdravím všechny,

měl bych takový dotaz, jak řešíte rendrování časový soulad, pořádí(sort).
Dám příklad:

public function render_html_source()
{ 

    $html  = $this->header(); //1
    $html .= $this->content(); //2
    $html .= $this->footer(); //3

    return $html;

}

Takhle budu rendrovat, a stane se mi z nějakého důvodu, že footer, se načítá dříve než content, jak to nejlépe řešit, odhalit a napravit. Čili přadí se změni na 1,3,2

Děkuji moc předem za Vaše případné příspěvky!
Martin2
Profil *
snazimse:
footer, se načítá dříve než content
Soudě podle tohoto kusu kódu k tomu dojít nemůže, chyba bude jinde.

jak to nejlépe řešit, odhalit a napravit
Debuggerem. Zastavit program na vhodném místě a zkontrolovat obsah proměnných.
snazimse
Profil
Martin2:

Děkuji za odpověd, to já vím, že ne, to je jen příklad. Mě zajímalo, jaká je nejlepší cesta.

Děkuji ještě jednou.
Keeehi
Profil
snazimse:
Pokud je kód synchronní a to většinou je, tak to nastat nemůže. Pokud je asynchronní, existují pro každý jazyk postupy, jak ho v kritických částech sesynchronizovat. Když se ptáš jak se ladí asynchronní kód, tak odpověď je že velmi těžko. Hlavní problém je asi v tom, že problémy paralelně běžících scriptu jsou často závislé na čase a ten použitím debuggeru porušuješ.
Martin2
Profil *
Keeehi:
Pokud je asynchronní
...což není případ PHP, ten žádné asynchronní operace nemá.
snazimse
Profil
Keeehi, Martin2:

Ano už jsem na to přišel, byl problém v tom, že jsem skloubil
dvě funkce s výpisem echo a jedna se rychleji, načetla do output_buffer.
Nevím moc jak s tím zásobníkem to řešit, ideální to je asi poskládat v jedné funkci, ten konečný výstup.

Ano jde o php, takže jen synchronní.

Děkuji moc!
Martin2
Profil *
snazimse:
dvě funkce s výpisem echo a jedna se rychleji, načetla do output_buffer.
To v PHP není možné. Všechny operace jsou vykonány v takovém pořadí, v jakém jsou zavolány.
snazimse
Profil
Martin2:

Ve smyslu správného pořadí, to navazuje na několik tříd, takže to nešlo předělat, tak jsem to spojil do jedné.
To bylo nejrychlejší. Mě spíš, jak to řešit co nejrychleji, to už je vše.
Keeehi
Profil
Martin2:
což není případ PHP, ten žádné asynchronní operace nemá.
No, něco by se našlo. Ale ano, PHP je ve velké většině synchronní.
snazimse
Profil
Keeehi:

Rozdělení na vlákna, samo všechno se dá udělat :)

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