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 * |
#2 · Zasláno: 24. 4. 2016, 16:44:05
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 |
#3 · Zasláno: 24. 4. 2016, 16:58:38
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 |
#4 · Zasláno: 24. 4. 2016, 18:03:06
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 * |
#5 · Zasláno: 24. 4. 2016, 19:03:14
Keeehi:
„Pokud je asynchronní“ ...což není případ PHP, ten žádné asynchronní operace nemá. |
||
snazimse Profil |
#6 · Zasláno: 24. 4. 2016, 20:38:09
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 * |
#7 · Zasláno: 24. 4. 2016, 20:41:44
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 |
#8 · Zasláno: 24. 4. 2016, 20:57:09
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 |
#9 · Zasláno: 24. 4. 2016, 23:45:33
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 |
#10 · Zasláno: 25. 4. 2016, 00:29:18
Keeehi:
Rozdělení na vlákna, samo všechno se dá udělat :) |
||
Časová prodleva: 9 let
|
0