Autor | Zpráva | ||
---|---|---|---|
cocroach Profil * |
#1 · Zasláno: 16. 3. 2018, 15:16:44
Ahoj v jedné knížce sem četl že je dobrý ukončovat skript když chci vypsat html
když třebas vypisuju hlavičku: 1. verze s echo echo '<!DOCTYPE html> <html lang="cs"> <head> <title>'.$nadpis.'</title> <meta charset="utf-8"> <meta name="description" content="'.$description.'"> <meta name="keywords" content="'.$keywords.'"> <meta name="author" content="'.$autor.'">'; 2. verze: ....(php skript) ?> <!DOCTYPE html> <html lang="cs"> <head> <title><?php echo $nadpis; ?></title> <meta charset="utf-8"> <meta name="description" content="<?php echo $description; ?>"> <meta name="keywords" content="<?php echo $keywords; ?>"> <meta name="author" content="<?php echo $autor; ?>"> Má z hlediska výkonu smysl to psát druhým způsobem? |
||
Tomášeek Profil |
Z hlediska výkonu je to jedno. Druhy zápis je ale přehlednější v editoru (barvení syntaxe), apod.
Pomíjím samozrejme, ze je prasárna míchat PHP a html dohromady. |
||
cocroach Profil * |
#3 · Zasláno: 16. 3. 2018, 16:52:58
cocroach, Tomášeek:
„Pomíjím samozrejme, ze je prasárna míchat PHP a html dohromady.“ nerozumím. tohle snad ani jinak nejde než to smíchat, nebo jak bys to udělal ty? |
||
T-fon Profil |
#4 · Zasláno: 16. 3. 2018, 18:22:53
Šablonovacím systémem (Latte, Smarty,...)
|
||
pcmanik Profil |
#5 · Zasláno: 16. 3. 2018, 18:59:15
cocroach:
Môžeš použiť aj skrátený zápis echo <?=$description; ?>. Šablonovaci systém je lepší, no v tomto prípade napr pri Latte by sa zmenilo na {$description}. Zároveň by si mal automatické ošetrenie výstupu. |
||
mikulas12 Profil |
ale to by musel mít povolené v php zkracene tvary nebo ne?
|
||
cocroach Profil * |
#7 · Zasláno: 16. 3. 2018, 21:26:07
pcmanik:
„Zároveň by si mal automatické ošetrenie výstupu.“ co si mám pod timhle představit? |
||
Amunak Profil |
#8 · Zasláno: 16. 3. 2018, 21:48:09
Tomášeek:
„Z hlediska výkonu je to jedno. Druhy zápis je ale přehlednější v editoru (barvení syntaxe), apod.“ Dobrý editor ti to korektně obarví tak jako tak, ale pravda je že u druhé varianty nemůže tolik docházet k různým "zmatením". cocroach: „nerozumím. tohle snad ani jinak nejde než to smíchat, nebo jak bys to udělal ty?“ Ve skutečnosti by se to "míchat" nemělo, protože když to napíšeš takto, nemůžeš pak už třeba posílat hlavičky (headers) jakmile máš nějaký výstup. A je to celkově dost prasácký přístup. Pro začátečníky jsou ale šablonovací systémy obvykle dost komplikované, pokud jim to někdo nepřipraví. „co si mám pod timhle představit?“ Šablonovací systémy jsou "chytré", analyzují šablonu a poznají, jeslti se třeba zrovna nachází někde "jen tak v HTML", nebo třeba uvnitř atributu ( <div class="atribut"> ), nebo uvnitř tagu <script> a podobně. A podle toho se zachovají - v HTML escapují < a > na < a > a podobně.
|
||
cocroach Profil * |
Amunak:
„Ve skutečnosti by se to "míchat" nemělo, protože když to napíšeš takto, nemůžeš pak už třeba posílat hlavičky (headers) jakmile máš nějaký výstup.“; napíšu hlavičku a také přesměruju na jinou stránku když se někdo bude chtít dostat na neexistující stránku, jinak nechápu co bych měl v hlavičce posílat. header("HTTP/1.0 404 Not Found"); header("Location: http://www.example.com/ ");
když budu vracet json tak do hlavičky napíšu <?php header("Content-type:application/json"); echo $myJSON; ?> je pravda žephp teprve zkouším :-( tak netuším co by jsi chtěl v těch hlavičkám posílat. ale html hlavičku snad musí mít každa stránka ne? tak ktřebas časem skusím šablonovací systém od místního IT jokera |
||
pcmanik Profil |
#10 · Zasláno: 16. 3. 2018, 23:01:24
mikulas12:
Od verzie php 5.4 je to vždy funkčné bez ohľadu na nastavenie short_open_tag. |
||
cocroach Profil * |
#11 · Zasláno: 16. 3. 2018, 23:15:32
Amunak:
„A podle toho se zachovají - v HTML escapují < a > na < a > a podobně.“
takže když budu mít <a href="cocroach.rajce.idnes.cz">moje fotogalerie</a> tak mi z toho udělá toto?
<a > href="http://cocroach.rajce.idnes.cz" >moje fotogalerie</a > |
||
pcmanik Profil |
#12 · Zasláno: 17. 3. 2018, 10:15:13
cocroach:
Ošetrujú sa premenné nie okolitý text. Naštuduj si o tom niečo. |
||
cocroach Profil * |
#13 · Zasláno: 17. 3. 2018, 15:31:07
pcmanik:
jinak řečeno, pokud člověk ví co dělá tak žádné latte a podobný věci nepotřebuje. |
||
Tomášeek Profil |
#14 · Zasláno: 17. 3. 2018, 16:50:00
cocroach:
:-D Člověče, přečti si, k čemu jsou šablonovací systémy, co je MVC architektura, atp. Pokud chceš bastlit PHP/HTML a všechno ostatní dohromady, pokračuj v tom, nikdo ti nebrání. Klidně pak nacpi celou stránku do jednoho kilometrového echa. |
||
mikulas12 Profil |
Tomášeek:
„Klidně pak nacpi celou stránku do jednoho kilometrového echa.“ :-) |
||
Kcko Profil |
#16 · Zasláno: 17. 3. 2018, 19:12:13
mikulas12:
„:-)“ :-)) |
||
Časová prodleva: 2 měsíce
|
|||
Amunak Profil |
#17 · Zasláno: 13. 5. 2018, 12:50:42
cocroach:
„je pravda žephp teprve zkouším :-( tak netuším co by jsi chtěl v těch hlavičkám posílat. ale html hlavičku snad musí mít každa stránka ne?“ Ano, hlavičky víceméně musí mít každá Response, přičemž když žádné nevyplníš, není neobvyklé že třeba webserver (nebo PHP? teď si nejsem jistý) doplní ty nejnutnější. Každopádně když prasíš dohromady logiku s šablonami může se ti stát že třeba až v půlce stránky zjistíš, že uživatel vyplnil někde něco špatně, a zpátky mu chceš poslat chybovou odpověď nebo ho přesměrovat někam jinam nebo něco podobného. A už nebudeš moci, protože jsi mu odeslal část výstupu. Jinak hlaviček je celá hromada, u složitějších interaktivních aplikací pak ten oddělený přístup prakticky musíš aplikovat. „a k čemu mi to bude? to se pak vypíše jako normální text a ne jako odkaz.“ Jak psal pcmanik, escapují se proměnné. Takže když máš šablonu např. takovouto: <span class="pagination"><a href="{{ link_page_next }}">{{ 'pagination.next'|translate }}</a></span> <span class="pagination"><a href="?sekce=adresy&stranka=5">Další >></a></span> místo chybného <span class="pagination"><a href="?sekce=adresy&stranka=5">Další >></a></span> „jinak řečeno, pokud člověk ví co dělá tak žádné latte a podobný věci nepotřebuje.“ Pokud člověk ví co dělá, dělá na tom sám a nebude mu vadit že se to nebude od určité velikosti dát prakticky nijak rozšiřovat a upravovat (alespoň ne bez značného utrpení) pak máš určitě pravdu že si to můžeš dělat jak chceš. Ale zavedené architektury, postupy a frameworky se nepoužívají jen tak ze srandy. ;) |
||
Časová prodleva: 6 let
|
0