Php dio html koda ili html dio php koda?

imamo malu raspravu u firmi u kojoj radim koji nacin je bolji, brzi, “ispravniji”. Interesuje me vase misljenje koje ce mi pomoci da ili promjenim svoje misljenje ili da “ubijedim” one druge :D.

verzija 1[code]

<?php echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $query = mysql_query("SELECT * FROM address_book ORDER BY last_name ASC"); while ($result = mysql_fetch_array($query, MYSQL_ASSOC)) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
Ime i PrezimeAdresaGradTelefonEmail
'.$result['ime'].' '.$result['prezime'].''.$result['adresa'].''.$result['grad'].''.$result['telefon'].''.$result['email'].'
'; ?> [/code] verzija 2[code]<?php $query = mysql_query("SELECT * FROM address_book ORDER BY last_name ASC"); while ($result = mysql_fetch_array($query, MYSQL_ASSOC)) { $CONTENT .= ''; $CONTENT .= ''.$result['ime'].' '.$result['prezime'].''; $CONTENT .= ''.$result['adresa'].''; $CONTENT .= ''.$result['grad'].''; $CONTENT .= ''.$result['telefon'].''; $CONTENT .= ''.$result['email'].''; $CONTENT .= ''; } ?> <?= $CONTENT ?>
Ime i Prezime Adresa Grad Telefon Email
[/code] (ja koristim verziju 2).

Ili postoji i neka treca ili cetvrta opcija?

Razumijem da nacin pisanja koda dosta stvar “licne prirode” i da je ssvim svejedno da li koristis echo ili print ili tako nesto. Ali mislim da u ovom slucaju se moze govoriti da je V1 bolja/losija od V2?

Hvala za svaki komentar (uz obrazlozenje, naravno :smiley: )

Neznatno brza je 2. opcija.
Citljivije je koristiti neki od templating enginea.

Ja bih to u fazonu (doduse ne u PHP-u) kao:

[code]<c:forEach …>

... [/code] To mi je onako najfancy, a kod gore ponudjena dva primjera... bas i nema neke velike razlike. Doduse uzeo bih prvo jer bih izbjegavao pravljenje velikih stringova konkatenacijom. Bolje odmah to u stream da ide sa echo-om. A moze i ova hrpa "echo" odnosno .= komandi da se smanji sa jednom for petljom.

che, zbog takvog pristupa template sistemima (sam template sistem je jezik za sebe), dosta ljudi se vratilo nazad samom PHP-u kao template jeziku (to je i bila originalna namjena)

Zar nije ovo čitljivije PHP programeru:

[code]<?php foreach (...) {?>


<?php foreach (...) ?>

<?php } ?>
<?php } ?>[/code]

Primjeri:
http://www.symfony-project.com/
http://manual.cakephp.org/chapter/views
http://drupal.org/project/phptemplate

P.S.
Inače, ja sam pristalica “trivijalnih” template sistema, gdje je template statički html, sa placeholderima za kasnije; Kao što je bio stari PHPlib Template. Ili Cheetah za python (već malo komplikovanije, al je sve 100% python).

Ne znam … i RoR je isao na fazon “ruby everywhere” medjutim isprobao sam ovaj DRYML (don’t repeat yourself markup language) http://hobocentral.net/manual/chapters/3_dryml.html i cini mi se boljom solucijom (mnogo je ugodniji za raditi). :slight_smile:
Btw. inace sam poceo preferirati “ugodnost” i brzinu programiranja nad brzinom izvrsavanja koda - tako da sam pristalica onih sistema koji mi omogucavaju da nesto napravim brze, ljepse, citljivije (tj. lakse za odrzavati meni i eventualno drugima) sa sto manje koda a performanse se nadomjestaju hardverom ili eventualnom optimizacijom koda kad je zavrsen (premature optimizations are evil!) :slight_smile:

prvi deo se najcesce koristi kod gotovih template-a, recimo kad se ubacuje contact form, dok je za sve ostalo (bar po meni) V2 bolje resenje.

p.s. procitao sam ostale postove tek kad sam napisao ovaj, mogu reci da ste me zainteresovali :slight_smile:

Moguce Adise, moguce! Java nije za svakoga :wink:

No frks - taj kod se mogao napisati i u obicnom JSP-u bez upotrebe tagova, bas onako kao sto si ti napisao, medjutim, ja se u zadnje vrijeme lozim na te tagove, valjda zato jer me uhvatila ona glupa XML groznica… Sad i kad sharam po stolu, stavim “che je bio ovdjeche” O_O