PHP/Smarty
Last-modified: 2018-11-14 (¿å) 15:23:56 (2280d)
[PHP]
Smarty´ØÏ¢¥ê¥ó¥¯
- [www.smarty.net]smarty APIÆüËܸì¥Þ¥Ë¥å¥¢¥ë
- [CodeZine]WEB¥·¥¹¥Æ¥à¤ÎÍÍ¡¹¤Êµ¡Ç½¤òSmarty¤ò»È¤Ã¤Æ¼ÂÁõ¤¹¤ë ·ÈÂÓ3¥¥ã¥ê¥¢Âбþ¤Î³¨Ê¸»úÂбþ¥µ¥¤¥È¤òSmarty¤Ç¹½ÃÛ¤¹¤ë²òÀâµ»ö
- Smarty¥Þ¥Ë¥å¥¢¥ë
¥³¥á¥ó¥È
¥³¥á¥ó¥È¤Ï¼¡¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡£
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}¤òÍøÍѤ·¤Þ¤¹¡£
ÊÑ¿ô
¥Æ¥ó¥×¥ì¡¼¥È¤ÇÊÑ¿ô¤òÄêµÁ¤·¤Æɽ¼¨
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¤Ç¤Îɽµ |
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} | ¥µ¡¼¥ÐÊÑ¿ô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|date_format:'%Y/%m/%d %H:%M:%S'}¤Ç¤¹¡£ | ¸½ºßÆü»þɽ¼¨ | - |
{foreach}¥ë¡¼¥×¤ÇÍøÍѲÄǽ¤ÊͽÌóÊÑ¿ô{$smarty}
»ÈÍÑÎã | ÆâÍÆ | ÃÍ |
{$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`"}