codez Posted June 10, 2010 Report Share Posted June 10, 2010 (edited) Леший, tas, ka PHP var izmantot daudz sarežģītākām lietām, kā vienkāršu templeitu būvēšanai, nenozīmē, ka PHP nevar būt templeitu valoda. Respektīvi, tas ir definīcijas jautājums, kā mēs definējam, kas ir templeitu valoda. Un parasti mēs definēsim tā, ka būs kaut kāda kopa ar lietām, ko šijā valodā jāvar veikt, bet diez vai mēs definīcijā iekļausim arī aizliedzošos elementus, kas noteiks, ja valoda var veikt to un to, tad viņa nav templeitu valoda. Būtībā mēs tagad strīdamies, nevis par PHP, bet par templeitu valodas definīciju, jo pamatā PHP var veikt visas templeitu valodai nepieciešamās darbības, tikaia r to atšķirību no citām templeitu valodām, ka PHP spēj arī vēl ko citu. Edited June 10, 2010 by codez Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted June 10, 2010 Report Share Posted June 10, 2010 Kaada starpiiba shiem diviem? Nr.1 <!-- item_list.tpl --> [if not empty {items}] <ul> [foreach {items} as {item}] <li>{item}</li> [endforeach] </ul> [endif] Nr.1 <!-- item_list.php (ekstensija nav svariiga buutiibaa) --> <?php if(!empty($items)) : ?> <ul> <?php foreach($items as $item) : ?> <li><?php echo $item; ?></li> <?php endforeach; ?> </ul> <?php endif; ?> Skatoties rezultaatu - nekaada. Skatoties uz aatrdarbiibu - otraa buus aatraaka. + otrai nevajag maaciities papildus sintaksi klaat + otrai pienjemot ka short tags vienmeer ir ON, to var veel saiisinaat _____ MVC var realizeet gan izmantojot atsevishkju template valodu, gan neizmantojot (izmantojot php kaa template engine). Atsevishkja template engine izmantoshana jau nenoteiks, ka vot tagad tas ir MVC. Quote Link to comment Share on other sites More sharing options...
Леший Posted June 10, 2010 Report Share Posted June 10, 2010 rATRIJS, ja tev tas item_list.php (var likt tpl, vai jebkādu citu extension) ir atsevišķs fails un tiek inkludots ar kontrolleru procesā, tad tas ir pilnvētrīgs šablons (template), jo šaj gadījumā, V daļa ir atdalīta. Ja tas ir iekš index.php, kaut kur 1439 rindā, tad tas ir līki, un galīgi nav pēc MVC principiem. Par atsevišķas template valodas izmantošanu - gaumes jautājums. Prātīgāk, protams, izmantot PHP. codez, tev piekritīšu, kaut gan, jēdziens "template valoda" priekš manis ir miglains. Dajebkura normāla programmēšanas valoda (pie kuras, cerams, var pieskaitīt PHP) lieliski tiek galā ar failu atvēršanu, string operācijam un buferizēto outputu. Nedomāju, ka valodas, kuras, ar šo tiek galā, ir jāsauc par template valodam. Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted June 10, 2010 Report Share Posted June 10, 2010 Jup tas ir atsevishkjsh fails :) Protams ja visu sabaazh vienaa milzu php failaa (kuraa ir visi burtinji (M, V, C)), tad nekaads MVC nesanaak :) Quote Link to comment Share on other sites More sharing options...
marrtins Posted June 10, 2010 Report Share Posted June 10, 2010 (edited) Леший, ja Tu PATS neproti nodalīt loģiku un attēlošanas un TEV tādai lietai VAJADZĪGS papildus layeris, par ko tad mēs te runājam? Lūk 300 nevajadzīgas rindiņas: $template->load_file("blablalba.tpl"); $template->set_var("a", $a); $template->set_var("b", $b); $template->set_var("c", $c); $template->set_var("d", $d); $template->enable_block("some_hidden_block"); Skat: $data_manipulation_code(); include("templates/view.php"); Viss. Nekādas datubāzes, nekādas biznesa loģikas vissam, kas atrodas zem templates/*. Tikai plika datu attēlošana. Edited June 10, 2010 by marrtins Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted June 10, 2010 Report Share Posted June 10, 2010 <?php echo "Hello world!"; ?> caur CLI, tu to uzrakstu redzēsi. Web interfeiss vispār netiek aiztikts. ....... HTML arī nevar nosaukt par templeita valodu, jo "pēc savas dzīļākās būtības" HTML ir Markup valoda hipertekstam, un .html faili reprezentē veselas lapas. Templeiti ir teiksim daļa no txt, html, xml vai cita formata faila, ko tu ar skripta palīdzību liec tur, kur vajag. A? ko Es saku? HTML -> NAV valoda kaa suga.. tas ir tikai teksta Markups( birkas) un nekas vairak... PHP peec butibas negenere nakadu 'haideri' prieksh 'klienta', ja vien tas netiek ieprieksh pieprasiits... to jau vajadzeja zinat. (kapec brinies? ) [ teiksim izpildas komanda prieksh DB, un outputs var arii nebuut] Haideri generee dotais webServeris ... Леший ->Vai tiesam shadas lietas nezinaji ?? P.S. lasot tavus ieprieksejos postus, biju par tevi citas domas :( Quote Link to comment Share on other sites More sharing options...
Леший Posted June 11, 2010 Report Share Posted June 11, 2010 (edited) PHP peec butibas negenere nakadu 'haideri' prieksh 'klienta', ja vien tas netiek ieprieksh pieprasiits... to jau vajadzeja zinat. (kapec brinies? ) [ teiksim izpildas komanda prieksh DB, un outputs var arii nebuut] Haideri generee dotais webServeris ... Baigu Ameriku atklāji. Jebkam, kas ģenerē HTML output no servera, ir jānosūt headeru Content-type: text/html\n\n. HTML failu gadījumā tas notiek automātiski, un PHP ir nekas cits, ka HTML (jeb cita kontenta, ar attiecīgo headeru, protams) preprocessors, gadījumā, ja tiek izsaukts caur web interfeisu. Palaižot caur CLI, header netiek sūtīts. Tikai nesaprotu, ko tu gribēji ar šo pierādīt. Kāds sakars headeriem ar template valodam (joprojam neesmu dzirdējis no tevis definīciju template valodai)? Edited June 11, 2010 by Леший Quote Link to comment Share on other sites More sharing options...
marrtins Posted June 11, 2010 Report Share Posted June 11, 2010 (edited) OMG, es pakritu zem galda... :O Kas te pa murgiem vispār panesās? "Jebkam, kas ģenerē HTML output no servera, ir jānosūt headeru Content-type: text/html\n\n" Viens var ģenerēt contentu, otrs var sūtīt headerus. Piemēram: viens=PHP, otrs=Apache. "Palaižot caur CLI, header netiek sūtīts." Āāāāāāāāāāāāā. Kā saprogrammē, tā sūta vai nesūta. Kods (pseido): $f=fopen("http://www.tvnet.lv/", "w"); ... fputs("$f, Host: www.tvnet.lv"); Reku arī no konsoles headeris tika aizsūtīts. Wow. Kas ir templešu valoda, skat. Smarty (bezjēdzīgākais un dauniskākais produkts kas vien atrodams zem *.php.net). Edited June 11, 2010 by marrtins Quote Link to comment Share on other sites More sharing options...
Леший Posted June 11, 2010 Report Share Posted June 11, 2010 marrtins, ka smartiju var saukt par valodu? Tā ir template sistēma uz PHP bāzes. Un tavs megakods $f=fopen("http://www.tvnet.lv/", "w"); ... fputs("$f, Host: www.tvnet.lv"); Es biju runājis par banālo outputu (echo "Hello, I'm not a header!";), kad netiek mainīti nekādi headeri. Viens var ģenerēt contentu, otrs var sūtīt headerus. Piemēram: viens=PHP, otrs=Apache. Es biju domājis, tiesi outputa ģenerāciju, nevis HTML preprocessing. Ar outputa ģenerāciju nodarbojās Apache. Ja tu naīvi uzskati, ka Apache vienkārši sūta plain htmlu as is un neko citu, tad tu maldies. Quote Link to comment Share on other sites More sharing options...
marrtins Posted June 11, 2010 Report Share Posted June 11, 2010 !_!$#*@$)_(@#$_)@#$_!(@#$_@#+$_) Tu lasīt māki? Saprasti māki? Nemāki? Pārlasi vēlreiz, un beidz matus cirst par to kas ir vai nav templeišu valoda. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.