Personligt synes jeg jo at det er rart at kunne holde styr på diverse HTML tags og at de ikke er "gemt" rundt omkring i variabler og php-kode. Det gør det (for mig) også lettere at overskue i fx Dreamweaver.
Men hvad er best practice og hvad performer bedst?
Findes der en industriel standard for denne slags?
Nej, der findes ikke en en industriel standard - typisk vil Best Practice være noget man bestemmer på arbejdspladsen/mellem kollegerne/mellem udviklerne.
Dog ligger der en del artikler og guides på nettet om BP men det vil ofte være personlige holdninger eller BP som en person/gruppe er vant til at arbejde efter.
Mange gange vil du opleve at udviklingen af et sprog ofte kommer til at diktere visse former for BP - såsom PHP's short tags.
For at kommentere dine to kodeeksempler vil jeg mene at de er for simple til at rent faktisk kunne afgøre om det ene er bedre end det andet.
Min personlige holdning er at jeg ønsker ikke selv at lade PHP udskrive mere HTML end højst nødvendigt, så hvis jeg endelig skal give udtryk for noget, vil Eks. 1 være mit foretrukne valg.
Hvis det bare er et simpelt eksempel, og du normalt har meget mere komplicerede sider, så vil jeg sige at ingen af dem er den bedste løsning.
Jeg forstår ikke folk som blander HTML og PHP på den måde; den slags betyder at hvis man vil ændre i designet (HTMLen) så kommer man uundgåeligt til også at ændre i koden (PHP). De to ting bør adskilles.
Jeg bruger selv class.rFastTemplate - her ville HTMLen se sådanne ud:
<html> <body> <p>Roses are <b>{COLOUR}</b></p> </body> </html>
og PHPen ville loade HTML som en template og erstatte {COLOUR} med "red".
#3 Din kommentar er enormt specifik i forhold til den overordnede debat om BP - jeg ville personligt aldrig kunne finde på at bruge et templating system som det du anvender. Istedet vil jeg anvende et MVC (jeg ved godt mange MVC frameworks tilbyder Smarty eller lignende som Template motor) hvor jeg kan adskille efter det mønster som MVC tillader. Jeg ser ikke noget specifikt problem (eller nogen faktisk forskel) i at skreve enten:
<div>{MY_CONTENT}</div>
eller
<div><?php echo $my_content; ?></div>
Jeg ser til gengæld en fordel i at jeg ikke behøver at have et template lag til at oversætte 'variabler' for mig, for det er ikke nødvendigt.
Template systemer er ikke en snak BP - men en snak om design patterns - IMO.
Men som tidligere nævnt - der er ingen universel sandhed - kun holdninger.
Jeg vil sige at performancemæssigt bør du ikke bekymre dig for meget om det med template motorer - det er sjældent at man har indhold der kræver at fokus skal lægges på det. Men alt andet lige skal du naturligvis tænke på at det blot er endnu et lag dit data skal gennem - men jeg tvivler stærkt på det rent faktisk er noget du kan måle.
Men personligt ser jeg ikke noget formål i at indlæse en template motor, for at lære deres syntaks når PHP kan løse det lige så effektivt med en syntaks du allerede kender.
Performancemæssigt er der først et problem når du har rigtig mange loops i dine pseudo-variabler i dine views.
Det er smart så snart din side bliver bearbejdet af både en grafiker (med fx ansvar for HTML + CSS) og en programmør (med ansvar for fx PHP/MySQL/JavaScript). En grafiker er nok tilbøjelig til at forstå mindre php og mere tekst (ala {variable} ) og på den måde kan det gøre arbejdet en smule lettere.
Så den er 50-50. Selvfølgelig har du ret i, at det går langsommere - men lamborghini er også langsommere end en ferrari; gør det den langsom? ;-)
#3 Jeg er ikke enig i din kommentar om en grafikers forståelse for variabelnavngivning; ved overlevering af et view til en grafiker vil under alle omstændigheder være nød til at kommentere variabler og scripting for at give grafikeren forståelsen for det dynamisk generede output. Om du så fortællere grafikeren at variabler er pakket ind i {} eller <?php echo ;?> kan da aldrig nogensinde skabe mere eller mindre forståelse for effekten?
Du skal huske at meningen med at PHP og HTML kan laves på samme side jo netop gør, at det ikke er mere eller mindre skidt rent kodemæssigt at gøre det.
Det er klart, at der inhouse kan være nogle standarder for hvordan man gør det - men ikke desto mindre giver det jo ikke fejl at skrive PHP og HTML sammen (i højere eller mindre grad).. så jeg tror næsten det er et spørgsmål om hvad man tror på ;)
Ja, det er nok også argumentationen for de fleste, hehe :-) Men du kan jo bare lave nogle php-kommentarer i toppen, hvor du angiver alle pseudo-variabler ("{variabel}"), og hvad de bruges til. :-)
Der er selvfølgelig mange måder at gøre det på, men jeg kan i hvert fald personligt godt lide at have tingene adskilt i så høj grad som muligt :o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.