ãã®ãããªèšäºã¯éåžžãHabrÃ©ã§æªãéåœã«ãããŸãã
ããã³ãã¬ãŒããšã³ãžã³ããç¹ã«ãPHPã®ãã³ãã¬ãŒããšã³ãžã³ã-ãã©ãŒã©ã ã®ãããã¯ã¿ã€ãã«ãèšäºãŸãã¯ããã°ãšã³ããªã®ã¿ã€ãã«ã§ãããã®åèªã«åºäŒã£ãã®ã§ã次ã®ããªããŒã¯è¿ãã«ãããŸãã ãã®çç±ã¯äœã§ããïŒ
- éžæ ã PHPã®ãã³ãã¬ãŒããšã³ãžã³ã¯å€ããããŸããããéåžžã«å€ããããŸãã äžéšã¯ãã€ãã£ãPHPã³ãŒãã§å®è£
ãããä»ã¯Cæ¡åŒµæ©èœã§å®è£
ãããŸãã ãããã®å€ãã¯ãäºçްãªããšãçµ±èšçãã©ã¡ãŒã¿ãŒïŒãã£ãã·ã³ã°ã®æç¡ãåŠçæéãå®è¡æéãªã©ïŒã®ã¿ãäºãã«ç°ãªããå€ãã¯æ¢ç¥ã®ãã³ãã¬ãŒããšã³ãžã³ã®è»œéãªé¡äŒŒç©ã§ãããäžéšã¯æé©åãããããŒãžã§ã³ã§ãã
- ä»äºã®ããŸããŸãªåå ã æãæåãªãã³ãã¬ãŒããšã³ãžã³ã¯ããŸã£ããç°ãªãååã«åºã¥ããŠããŸãïŒãã®èšäºã§ã¯ãããã«ã€ããŠèª¬æããŸãïŒã SmartyãšBlitzãåŠçã®èšèšãšè«çæ¡ä»¶ã®ååã§ã©ã®ããã«ç°ãªãããèŠããŠãããŠãã ããããããããããã®ååã®ããããã«æ¬ é¥ãããããŸãã¯äžååãªèšèªãåŒã¶ããšã¯å€ãããŸããã
- ãããã®åå ã¯äž¡æ¹ãšããããªããŒã®åºçŸã®äž»ãªçç±ãã€ãŸãèªçµŠèªè¶³ãåŒãèµ·ãããŸãã çŸåšã®ããã«ã10ã15åã§ã¯ãªããååããšã«1ã€ã®ãã³ãã¬ãŒããšã³ãžã³ãããå Žåãããã¯çµ¶å¯Ÿãã©ã¹ã«ãªããŸãã ãããããã³ãã¬ãŒããšã³ãžã³ã®åäœã®ããç¥ãããŠããååãæäœãããããããããã«å€æŽããããšã§ãæ°ããèªçµŠèªè¶³ã®ãã³ãã¬ãŒããšã³ãžã³ãçãŸãããšãå声ãåŸãŠãNçªç®ã®åŽé¢ãããã°ã©ããŒã®å¯Ÿæ±ºã«çŸããŸãã
çœé³¥ãã¬ã³ããã€ã¯ãèŠã€ãããŸãããïŒ èª°ããããããã®æ¹åã«åãã£ãŠããŸããã1ã€ã®ãã³ãã¬ãŒããšã³ãžã³ã®ããããã¢ãããŒãã®æãããªæ©èœäžã®æ¬ é¥ãææããããšã¯äžå¯èœã§ã-ãã®ãµããŒã¿ãŒã¯åžžã«ãã®æ©èœãå®è£
ããæ¹æ³ãèŠã€ããè°è«ã¯åã³çµããã®ãªãçã«ãªããŸãã
ããŠãå®éããªããã®èšäºãæžããŠããã®ã§ããã ããã€ãã®ã¿ã€ãã®ãã³ãã¬ãŒããšã³ãžã³ã®æ§æãšãããã°ã©ããŒãšãšã³ã³ãŒããŒã®äž¡æ¹ã«æäŸãããæè»æ§ã®ã¬ãã«ïŒWebã¢ããªã±ãŒã·ã§ã³ã®ãã³ãã¬ãŒããæ±ã人ãšåŒã¶ããã«ïŒã匷調ããããšæããŸãã
åçš®ã®ä»£è¡šã
è©³çŽ°ã«æ€èš
ããã®ã§ã¯ãªããå¿
èŠãªã³ãŒãäŸã®ã¿ã瀺ããæç¢ºã«ããããã«ãæãäžè¬çãªé¡§å®¢ãæ€èšããŸãã ããã¯å人ã§ãããããšãã°ãããã°ã©ãã³ã°èšèªã話ããªãå°èŠæš¡ã®ãªãã£ã¹ã®ã·ã¹ãã 管çè
ã§ãããç°¡åã«èšç·Žããããããžã§ã¯ãã®ãŠã§ããã¹ã¿ãŒã§ãããšã³ã³ãŒãã§ããããŸãã ãããŠãããã¯ç空ã®çäœã¯ã©ã€ã¢ã³ãã§ã¯ãããŸãã-ãããã®ã»ãšãã©ã 人ã§ãªãå Žåã¯ããµã€ãã®èšèšèŠä»¶-ãåŸã§ç°¡åã«å€æŽã§ããããã«ã
-1ïŒçŽç²ãªPHP
è² ã®ã€ã³ããã¯ã¹ãçŽç²ãªPHPã³ãŒãã«å²ãåœãŠãŸããããããã¯ãç§ãåŸãã¹ãäœçœ®ãæç¢ºã«ç€ºãããã ãã«è¡ãããŸããã
顧客ã«ãšã£ãŠãããã¯åœŒãåŠã¶å¿
èŠã®ãªãæã森ã§ããã©ã®ããã°ã©ãã³ã°èšèªã®æ§æãæå€§éã®æè»æ§ã®ããã«èšèšãããŠããããããã³ãã¬ãŒããšã³ãžã³ã®æãæããã
坿¬¡ã§ãã
åé·ã§ããæ§æãforeachãforãæ§æãããã³ä»ã®ãã¹ãŠãçž®å°ã«å€ããå Žåã
Zend_FrameworkãäŸãšããŠåãäžããŸããããããªãéçºãããéå¿çãªãããžã§ã¯ããSavant3ãåãäžããŸãã
<html>
<衚>
<ïŒphp whileïŒ$ row = $ this-> result-> fetchRowïŒïŒïŒïŒïŒ>
<tr>
<ïŒphp foreachïŒ$è¡ãšããŠ$è¡ïŒïŒïŒ>
<td> <ïŒphp $ this-> _ïŒ$ valïŒïŒ> </ td>
<ïŒphp endforeach; ïŒ>
</ tr>
<ïŒphp endwhile; ïŒ>
</ table>
</ html>
ããã¯ãã€ãã£ãPHPã³ãŒãã§ãããïŒ$ row = $ this-> result-> fetchRowïŒïŒïŒïŒããã³foreachïŒ$ row as $ valïŒïŒã®æååãçè§£ããã«ã¯ãPHPã®è€éãªã¹ãã«ãå¿
èŠã§ãã ãããŠãããã¯ãPHPèªäœãåªãããã³ãã¬ãŒããšã³ãžã³ã§ããã®ã«ããªãè»èŒªãåçºæããã®ã§ããïŒããªã©ã®ã¹ããŒãã¡ã³ãã«å¯Ÿããäž»ãªåè«ã§ãã ããããã
ããã°ã©ããŒãå¥è·¡ãèµ·ããããšãã§ããäžèŒªé§åã«ä¹ãããã«é¡§å®¢ã«æããã®ã§ã¯ãªããæ§æã®èªç±ã«å¯ŸããŠããã·ã³ãã«ã§æµæåã®ãããã®ãäŸãã°äžèŒªé§åãäžããããã«ã ã¯ã©ã€ã¢ã³ãã®å Žåãããã¯ãŸã£ããåãã¬ãã«ã§ãããšä»¥åã«æ³å®ããŠããŸããã
ãã³ãã¬ãŒããšã³ãžã³ã«çŽæ¥è¡ããŸãããã çªå·ä»ãã¯ãäŒçµ±ã«åŸã£ãŠããŒãããå§ããŸãã</ P
0ïŒéèš³è
ïŒ3IïŒ
æãæåãªã®ã¯Smartyã§ãã ããæœè±¡åãããŠããŸãããç§ã®æèŠã§ã¯ãããææ§ãª
ETSæ§æã䜿çšããŠããŸãã ãŸããPEARã¯PEAR :: HTML_Template_FlexyãšããçŽ æŽãããã¯ã©ã¹ã衚ããŸãã 圌ãã®æåã®åé¡ã¯ãSmartyã®å察è
ãéåžžã«æ£ããææããŠããããã«ãå€ãã®æ§é ãPHPã³ãŒãã§é¡äŒŒããŠããããã«èŠããSmartyãšPHPã®åŒ·ãéããçŸããããè€éãªã¿ã¹ã¯ããã£ãã«åºäŒããªãããšã§ãã ããšãã°ãPEAR :: HTML_Template_Flexyã®äŸã®ã³ãŒãïŒ
{ucfirstïŒ#this is the headerïŒïŒ}
{includeBodyïŒïŒïŒh}
{foreachïŒaãkãv}
kã¯{k}ãvã¯{v}
{endïŒ}
{ifïŒshowStuff}ããã«ã¡ã¯{endïŒ}
{ifïŒshowDogïŒïŒ}ã¯ã³ã¡ãã{endïŒ}
Smartyãšåæ§ã®ãã³ãã¬ãŒããšã³ãžã³ã¯
åé·ã«èŠã
ãŸãã ãããã«ã€ããŠè°è«ããã®ã¯ã°ãããŠããŸãã ãããåŒã°ãªãã§ãã ãã-éããé
ããéè² è·ã§ãããSmartyã¯ãŸãã«ããã§ãã åæ§ã®ãã³ãã¬ãŒããšã³ãžã³ã¯ãããã°ã©ãã«ãã£ãŠããã°ã©ãåãã«äœæãããŠããŸãã ããŒã ããããžã§ã¯ãã«åãçµãã§ããå Žåããã¡ããã远å èšèªãã®æè»ãªæ§æãšãã³ãã¬ãŒãå
ã®ããžãã¯ã®äžéšã転éããæ©èœã«ãããéçºã倧å¹
ã«ç°¡çŽ åãããŸããããããžã§ã¯ãããã®ãããªãã³ãã¬ãŒããšã³ãžã³ã®æ§æã«ç²ŸéããŠããªãäººã«æž¡ããããšããã«-ããã¥ã¡ã³ããªããã¥ãŒããªã¢ã«ã¯ä¿åãããŸããã ãŸãããã³ãã¬ãŒããšã³ãžã³èªäœã®èšè¿°ãéåžžã«äžååãªå Žåãããžãã¯ãäžèŠããŠçè§£ããããšã¯äžå¯èœã§ããETSã¯çŽç²ãªåœ¢åŒã®PHPã«ã¯èŠããŸãããã詳现ã¯Smartyã«äŒŒãè€éãªæ§æãæã£ãŠããŸãã ETSãèŠãããšããªã人ã®ããã«ãã³ã¡ã³ããªãã®ã³ãŒãã以äžã«ç€ºããŸãã
{ãã¹ã¯ïŒã¡ã€ã³}
<html>
<head> <title> {titlele </ title> </ head>
<æ¬äœ>
<h1> {titlele </ h1> <hr>
{ãã¹ã¯ïŒmypartners}
{maskïŒ//ããŒãããŒ}
<b> {ifïŒ{id} == {../../id}} <p> {label} </ p> {/ if} </ b>
{/ãã¹ã¯}
{/ãã¹ã¯}
</ body>
</ html>
{/ãã¹ã¯}
ç¹ã«Smartyã«éåºŠã®æ³šæãæã£ãããšããpoã³ããŸãããã€ã³ãã¯ã圌ã«å¯Ÿããç§ã®æ
床ã§ã¯ãªããèæ
®ãããŠãããã³ãã¬ãŒããšã³ãžã³ã®åéã«ãããåœŒã®æç¢ºãªåªäœæ§ã§ãã
1ïŒãããã¯ãšå€æ°
ãã³ãã¬ãŒããšã³ãžã³ã®veryææã«ãPHPã³ãŒãããåé¢ãããã°ããã®ãšãã«ããã®ã¿ã€ããæ®åããŸããã ãããã«ã¯ãOOãã³ãã¬ãŒããPEAR :: HTML_Template_ITãBlitzãTemplatePowerãYapterãªã©ããããŸãã ãã®èšäºãæžãããšãã2006幎
ã®25åã®ãã³ãã¬ãŒããšã³ãžã³ ïŒããã«æããååã®äžéšãèŠã€ããããšãã§ããŸãïŒã®å€ãïŒ2幎以äžåã®ïŒ
ãªã¹ããæãäžããŸããã 2007幎ãã2008幎ã®é MVCãã¿ãŒã³ïŒããã³ããããçš®é¡ã®ã¬ãŒã«ã®ãããªãã¬ãŒã ã¯ãŒã¯ïŒã¯éåžžã«äººæ°ãããããããã¯ãã³ãã¬ãŒããšã³ãžã³ã¯ãŸã£ããé©åããŸããã§ããã 圌ãã¯ã埪ç°ãããã¯ãšæ¡ä»¶ä»ããããã¯ãæ
åœããã³ã³ãããŒã©ãŒã®è¿œå ã³ãŒããææ¡ããŸããã ãããŠãã®ã¬ãã¥ãŒã§æäŸããããªã³ã¯ã®å€ããæ©èœ
ããªãããšã¯éåžžã«éèŠã§ãã ãããã®ãã³ãã¬ãŒããšã³ãžã³ã¯ãWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ææ°ã®æè¡ã®èæ¯ã«å¯ŸããŠæä»£é
ãã§ããããã¯ã©ã·ãã¯ããšåŒã°ããããšãå€ãã¬ãã¥ãŒã§ã¯ãéåžžã«åŒ·åãªçžäºäœçšã®ååãå«ãŸããŠããŸãïŒããã°ã©ã <=>ãã¬ãŒã³ããŒã·ã§ã³ïŒæå³çã«ããžãã¯ãšã¯åŒã°ãããã®åŸã«ççŸãããå ŽåããããŸãïŒããè©³çŽ°ã«æ€èšãããã®ã§ãBlitzã³ãŒããåãäžããŸãã
{{ã¢ã€ãã ãéå§}}
ããã«ã¡ã¯äžç
{{END}}
察å¿ããPHPã³ãŒãïŒ
<ïŒ
$ T =æ°ãã黿æŠïŒ 'tpl'ïŒ;
$ T->ç¹°ãè¿ãïŒ '/ item'ïŒ;
echo $ T-> parseïŒïŒ;
ïŒ>
ãã®ã³ãŒãã¯äœãããŸããïŒ ãhelloãworldããšããããã¹ãã衚瀺ãããã ãã§ãã ãã以äžã¯ãããŸããããããã«ãã®ãããªãã³ãã¬ãŒããšã³ãžã³ã®éèŠãªæ©èœ
ããããŸããå®è¡ãããæäœã®
æ¬è³ªã¯ããã³ãã¬ãŒããšã³ãžã³ã®åªåã«ãã£ãŠå€æŽããããšã¯ã§ããŸãã ã ã€ãŸããããã¬ãŒã³ããŒã·ã§ã³ããžãã¯ããšããçšèªïŒåŸã§èª¬æããŸãïŒã«è§Šããªããã°ãããã°ã©ã ã«å®å
šã«äŸåããŸãã ã€ãŸã å®éããšã³ã³ãŒããŒã¯ãã³ãã¬ãŒããå¶åŸ¡ã§ããŸããããããã¯ã®åœ¢åŒã®ãã¯ãŒã¯å¹»æ³çã§ãã ä»ããETSãå©çšããŠãã ããïŒ
{ç¹°ãè¿ãïŒ<b> n </ b>}
ããã«ã¡ã¯äžç
{/ç¹°ãè¿ã}
ãããŠãããã§ã¯ãŸã£ããéã§ãã
ãã³ãã¬ãŒãã«ã¯ããµã€ã¯ã«ãå¶åŸ¡ããæ©èœããããŸãã ãããã£ãŠãè«çæ¡ä»¶ããããŸãã Blitzãã³ãã¬ãŒããšã³ã³ãŒããŒããhelloãworldããããã¯ã7å衚瀺ãããå Žåã¯ãããã°ã©ããŒã«é»è©±ããããŠã ãã®ãªãã·ã§ã³ã¯ããã°ã©ã ã«çŽæ¥é
眮ãããŠããŸãã ETSãã³ãã¬ãŒãã®ãšã³ã³ãŒããŒãåãããšããããå Žåã¯ããã³ãã¬ãŒãå
ã§èªåã§è¡ãããšãã§ããŸããããã®ãããªèªç±ã®ããã«ããšã³ã³ãŒããŒã¯SmartyãŸãã¯ETSã®æ§æã調ã¹ãããšã§æ¯æããè¡ããŸãã ãŸããæ¯æããåžæããªãå Žåã¯ããããã¯ãã³ãã¬ãŒããšã³ãžã³ã®åäœåçã«ãã£ãŠå€§å¹
ã«å¶éãããŸãã ãããŠãæ¢åã®ãããã¯ããã³ã€ã³ã¿ãŒããªã¿åãã³ãã¬ãŒããšã³ãžã³ã®å
±çã«ã¯ãå§åçã«ã²ã©ãæ§æãããã壿ªãªå®è£
ããããŸããã
2ïŒã¿ã°ããŒã¹
ãããã¯ãbTemplateãPEAR :: HTML_Template_Flexyãªã©ã®HTMLã¿ã°ãŸãã¯ãã®æŽŸçç©ã«åºã¥ããã³ãã¬ãŒããšã³ãžã³ã§ãïŒäžåºŠã«2ã€ã®ã«ããŽãªã«é©åããŸãïŒã ããã§ã¯ããŸãæ®åããŠããŸããã2çš®é¡ã®ãã³ãã¬ãŒããšã³ãžã³ã®ã¿ãåãäžããŸãã
- ãã³ãã¬ãŒããè£å®ããç¹å¥ãªã¿ã°
æ¢åã®HTMLãã³ãã¬ãŒãæ§é ã§æäœãã
åè
ã¯ããŸã£ããé¢å¿ã衚ããªãããªããªãã ã»ãšãã©ã®å®è£
ã§ã¯ããããã¯ã¿ã€ã0ãã³ãã¬ãŒããšã³ãžã³ã®å€æŽããããã¥ãŒã§ãã ãã®ãããªãã³ãã¬ãŒããšã³ãžã³ãèŠãããšããªã人ã«ãšã£ãŠã¯ãbTemplateã®æ¬¡ã®ã³ãŒãã§ååã§ãã