W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
registerPlugin() — 注冊插件
void registerPlugin(string type,
string name,
mixed callback,
bool cacheable,
mixed cache_attrs);
該函數(shù)將以插件的形式來注冊函數(shù)或者方法。 參數(shù)如下:
type
defines the type of the plugin. Valid values are "function", "block", "compiler" and "modifier".
name
defines the name of the plugin.
callback
defines the PHP callback. it can be either:
A string containing the function name
An array of the form array(&$object, $method)
with &$object
being a reference to an object and $method
being a string containing the method-name
An array of the form array($class, $method)
with $class
being the class name and $method
being a method of the class.
大多數(shù)情況下cacheable
和 cache_attrs
可被省略。 參見緩存能力設置它們的值。
Example 14.39. 注冊函數(shù)
<?php $smarty->registerPlugin("function","date_now", "print_current_date"); function print_current_date($params, $smarty) { if(empty($params["format"])) { $format = "%b %e, %Y"; } else { $format = $params["format"]; } return strftime($format,time()); } ?>
在模板中:
{date_now} {* 或定義時間格式 *} {date_now format="%Y/%m/%d"}
Example 14.40. 注冊塊函數(shù)
<?php // 函數(shù)定義 function do_translation ($params, $content, $smarty, &$repeat, $template) { if (isset($content)) { $lang = $params["lang"]; // 這里可以放置翻譯 $content 的代碼 return $translation; } } // 注冊到Smarty $smarty->registerPlugin("block","translate", "do_translation"); ?>
模板中:
{translate lang="br"}Hello, world!{/translate}
Example 14.41. 注冊修飾器
<?php // 我們將PHP的stripslashes函數(shù)映射成一個Smarty的修飾器 $smarty->registerPlugin("modifier","ss", "stripslashes"); ?>
模板中可使用ss
來過濾反斜線。
<?php {$var|ss} ?>
參見 unregisterPlugin()
, 插件函數(shù), 塊函數(shù), 編譯函數(shù), 和 修飾器。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: