¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS

PHP/Smarty ¤ÎÊѹ¹ÅÀ

Top / PHP / Smarty

[[[PHP]]]



#ls2
#contents
~~


*Smarty´ØÏ¢¥ê¥ó¥¯
-[[[www.smarty.net]smarty APIÆüËܸì¥Þ¥Ë¥å¥¢¥ë>http://www.smarty.net/manual/ja/]]
-[[[CodeZine]WEB¥·¥¹¥Æ¥à¤ÎÍÍ¡¹¤Êµ¡Ç½¤òSmarty¤ò»È¤Ã¤Æ¼ÂÁõ¤¹¤ë>http://codezine.jp/article/detail/5123]] ·ÈÂÓ3¥­¥ã¥ê¥¢Âбþ¤Î³¨Ê¸»úÂбþ¥µ¥¤¥È¤òSmarty¤Ç¹½ÃÛ¤¹¤ë²òÀâµ­»ö
-[[Smarty¥Þ¥Ë¥å¥¢¥ë>http://www.smarty.net/docsv2/ja/]]



*¥³¥á¥ó¥È
¥³¥á¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ëµ­½Ò¤·¤Þ¤¹¡£~
foo.tpl
 {* ¤³¤ì¤ÏSmarty¤Î¥³¥á¥ó¥È¤Ç¤¹ *}
Æþ¤ì»Ò¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó¡£



*Äê¿ô



**¥Æ¥ó¥×¥ì¡¼¥È¤ÇÄê¿ô¤òÄêµÁ¤·¤Æɽ¼¨
ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤è¤ëÊÑ¿ôÄêµÁ~
foo.conf
 fax = '111-222-3333'

foo.tpl
 {config_load file='foo.conf'}
 {#fax#}



**PHP¤ÇÄê¿ô¤òÄêµÁ¤·¤Æɽ¼¨
foo.php
 define('FAX','111-222-3333');

foo.tpl
 {$smarty.const.FAX}
¢¨Í½ÌóÊÑ¿ô[[{$smarty}>http://www.smarty.net/manual/ja/language.variables.smarty.php]]¤òÍøÍѤ·¤Þ¤¹¡£


*ÊÑ¿ô



**¥Æ¥ó¥×¥ì¡¼¥È¤ÇÊÑ¿ô¤òÄêµÁ¤·¤Æɽ¼¨
foo.tpl
 {assign var=fax value='111-222-3333'}
 {$fax}



**PHP¤ÇÊÑ¿ô¤òÄêµÁ¤·¤Æɽ¼¨
foo.php
 $smarty = new Smarty();
 $smarty->assign('fax', '111-222-3333');

foo.tpl
 {$fax}



*Ï¢ÁÛÇÛÎóÊÑ¿ô



**PHP¤ÇÏ¢ÁÛÇÛÎóÊÑ¿ô¤òÄêµÁ¤·¤Æɽ¼¨
foo.php
 $smarty = new Smarty();
 $smarty->assign('foo',
 	array('fax' => '111-222-3333',
 		'email' => 'zaphod@slartibartfast.example.com',
 		'phone' => array('home' => '111-222-3334',
 						'cell' => '111-222-3335')
 					)
 	);

foo.tpl
 {$foo.fax}
Ï¢ÁÛÇÛÎóÊÑ¿ô$foo['fax']¤òɽ¼¨
¢¨Ï¢ÁÛÇÛÎó¤Ï¥Ô¥ê¥ª¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
¢¨Ä̾ï¤ÎÇÛÎó¤Ï{$foo[4]}¤È¤¤¤¦É÷¤Ë¤½¤Î¤Þ¤Þ¥Æ¥ó¥×¥ì¡¼¥È¤Ëµ­½Ò¤·¤Þ¤¹



*ͽÌóÊÑ¿ô{$smarty}



**¥Ú¡¼¥¸Æɤ߹þ¤ß»þÅÀ¤ÇÍøÍѲÄǽ¤ÊͽÌóÊÑ¿ô{$smarty}
|»ÈÍÑÎã|ÆâÍÆ|PHP¤Ç¤Îɽµ­|h
|Smarty¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï{$smarty.version}¤Ç¤¹¡£|Smarty¤Î¥Ð¡¼¥¸¥ç¥ó|-|
|¸½ºß¤Î¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë̾¤Ï{$smarty.template}¤Ç¤¹¡£|¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë̾|-|
|<a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>|HTML¥Õ¥¡¥¤¥ë̾|-|
|Smarty¤Ç¤Î¥Ç¥ê¥ß¥¿¤Ï {$smarty.ldelim} ¤È {$smarty.rdelim} ¤Ç¤¹¡£|Smarty¤Î¥Ç¥ê¥ß¥¿|-|
|{$smarty.get.foo}|get¥Ñ¥é¥á¡¼¥¿foo¤ÎÃÍ¡£|$_GET['foo']|
|{$smarty.post.foo}|post¥Ñ¥é¥á¡¼¥¿foo¤ÎÃÍ¡£|$_POST['foo']|
|{$smarty.cookies.foo}|¥¯¥Ã¥­¡¼ÊÑ¿ôfoo¤ÎÃÍ¡£|$_COOKIE['foo']|
|{$smarty.server.HTTP_USER_AGENT}|[[¥µ¡¼¥ÐÊÑ¿ô>/PHP/ʸˡ#f098eee9]]HTTP_USER_AGENT¤ÎÃÍ¡£|$_SERVER['HTTP_USER_AGENT']|
|{$smarty.env.PATH}|´Ä¶­ÊÑ¿ôPATH¤ÎÃÍ¡£|$_ENV['PATH']|
|{$smarty.session.foo}|¥»¥Ã¥·¥ç¥óÊÑ¿ôfoo¤ÎÃÍ¡£|$_SESSION['foo']|
|{$smarty.request.foo}|get, post, cookies, server, env¤É¤ì¤«¤Îfoo¤ÎÃÍ|-|
|{$smarty.const.MY_CONST}|PHP¤Ç¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤¿ÃÍdefine('MY_CONST', 'abc');|MY_CONST|
|1970ǯ1·î1Æü¤«¤é¸½ºß¤Þ¤Ç¤Î·Ð²áÉÿô¤Ï{$smarty.now}ÉäǤ¹¡£|1970ǯ1·î1Æü¤«¤é¤Î·Ð²áÉÿô|-|
|¸½ºß¤ÎÆü»þ¤Ï{$smarty.now&#x7c;date_format:'%Y/%m/%d %H:%M:%S'}¤Ç¤¹¡£|¸½ºßÆü»þɽ¼¨|-|



**{foreach}¥ë¡¼¥×¤ÇÍøÍѲÄǽ¤ÊͽÌóÊÑ¿ô{$smarty}
|»ÈÍÑÎã|ÆâÍÆ|ÃÍ|h
|{$smarty.foreach.loopname.iteration}|¥ë¡¼¥×²ó¿ô|1, 2, 3, ...|
|{$smarty.foreach.loopname.index}|¥¤¥ó¥Ç¥Ã¥¯¥¹|0, 1, 2, ...|
|{if $smarty.foreach.loopname.first}|ºÇ½é¤Î¹àÌܤ«¤É¤¦¤«¿¿µ¶ÃÍ|true, false|
|{elseif $smarty.foreach.loopname.last}|ºÇ¸å¤Î¹àÌܤ«¤É¤¦¤«¿¿µ¶ÃÍ|true, false|
|{$smarty.foreach.loopname.total}|¥ë¡¼¥×¤Î¥È¡¼¥¿¥ë²ó¿ô¡£¥ë¡¼¥×¤òÈ´¤±¤Æ¤âÍøÍѲÄǽ|¿ôÃÍ|



**{capture}¤ÇÍøÍѲÄǽ¤È¤Ê¤ëͽÌóÊÑ¿ô{$smarty}
{capture}¥¿¥°¤Ç°Ï¤Þ¤ì¤¿½ÐÎÏÆâÍƤòname°À­¤Ç»ØÄꤷ¤¿ÊÑ¿ô¤Ë¼èÆÀ¤·¤Þ¤¹¡£~
{capture}»ÈÍÑÎã
 {* ¥³¥ó¥Æ¥ó¥Ä¤¬É½¼¨¤µ¤ì¤Ê¤¤¸Â¤ê¡¢¥Æ¡¼¥Ö¥ë¤Î¹Ô¤òɽ¼¨¤·¤Þ¤»¤ó *}
 {capture name=banner}
 	{include file='get_banner.tpl'}
 {/capture}
 
 {if $smarty.capture.banner != ''}
 	<div id="banner">{$smarty.capture.banner}</div>
 {/if}



*¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Ç·×»»¤¹¤ëÊýË¡
ÇÛÎó¤Ç¥Ò¥Ã¥È¤·¤¿¹àÌÜ¿ô¡¢¤ª¤è¤Ó¡¢¥Ò¥Ã¥È¤·¤Ê¤¤¹àÌÜ¿ô¤ò¥«¥¦¥ó¥È¤¹¤ëÎã~
foreach¤ÎÁ°¤Ç¥«¥¦¥ó¥¿¤ò½é´ü²½
  {assign var = "hit_count" value = 0}

foreach¤ÎÃæ¤Ç¥Þ¥Ã¥Á¤·¤¿¹Ô¤ò¥«¥¦¥ó¥È
  {math equation = "x + 1" x = $hit_count assign = hit_count}

foreach¸å¤Ë¥ë¡¼¥×²ó¿ô¤«¤é¥Þ¥Ã¥Á¤·¤¿¹Ô¤ò°ú¤¤¤Æ¡¢»Ä¤ê¹Ô¿ô¤òµá¤á¤ë
  {math equation = "x - y" x = $smarty.foreach.list_loop.total y = $hit_count assign = unhit_count}

ɽ¼¨
  ¥Ò¥Ã¥È¤·¤¿¤Î¤Ï{$hit_count}²ó¤Ç¤¹¡£<br />
  ¥Ò¥Ã¥È¤·¤Ê¤«¤Ã¤¿¤Î¤Ï{$unhit_count}²ó¤Ç¤¹¡£



*¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Çʸ»úÎó¹çÀ®¤¹¤ëÊýË¡
 {assign var = "now_date" value = "`$v.year`/`$v.month`/`$v.date`"}