Changes between Initial Version and Version 1 of WF/Metodos


Ignore:
Timestamp:
07/24/07 15:01:38 (17 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/Metodos

    v1 v1  
     1= append = 
     2 ---- 
     3 
     4void append (mixed var) 
     5 
     6 
     7 
     8void append (string varname, mixed var) 
     9 
     10 
     11 
     12void append (string varname, mixed var, boolean merge) 
     13 
     14 
     15 
     16Isso é usado para adicionar um elemento para um array fixado. Se você adicionar uma string como valor, isso irá converter-se para um valor de array e então adicioná-lo. Você pode explicitamente passar pares nomes/valores, ou arrays associativos contendo o par nome/valor. Se você passar o terceiro parâmetro opcional para true, o valor unir-se ao array atual ao invés de ser adicionado. 
     17 
     18 
     19 
     20    Notas Técnicas: O parâmetro de união respeita a chave do array, então se você mesclar dois índices númericos de um array, eles devem sobrescrever-se um ao outro ou em resultados não sequências de chave. Isso é diferente da função de PHP array_merge() que apaga as chaves e as renumera.  
     21 
     22 
     23 
     24Exemplo 13-1. append 
     25 
     26 
     27 
     28// passing name/value pairs 
     29 
     30$smarty->append("Name","Fred"); 
     31 
     32$smarty->append("Address",$address); 
     33 
     34 
     35 
     36// passing an associative array 
     37 
     38$smarty->append(array("city" => "Lincoln","state" => "Nebraska")); 
     39 
     40 
     41 
     42= append_by_ref = 
     43 
     44---- 
     45 
     46void append_by_ref (string varname, mixed var) 
     47 
     48 
     49 
     50void append_by_ref (string varname, mixed var, boolean merge) 
     51 
     52 
     53 
     54Isso é usado para adicionar vlaores para o template por referência. Se você adicionar uma variável por referência e então alterar este valor o valor adicionado enxergará a alteração também. Para objetos, append_by_ref() também evita uma cópia em memória do objeto adicionado. Veja o manual do PHP em referenciando variáveis para uma melhor explanação sobre o assunto. Se você passar o terceiro parâmetro opcional para true, o valor irá ser mesclado com o array atual ao invés de adicioná-lo. 
     55 
     56 
     57 
     58    Notas Técnicas: O parâmetro de união respeita a chave do array, então se você mesclar dois índices númericos de arrays, eles devem sobrescrever-se um ao outro ou em resultados não sequências de chave. Isso é diferente da função de PHP array_merge() que apaga as chaves numéricas e as renumera.  
     59 
     60 
     61 
     62Exemplo 13-2. append_by_ref 
     63 
     64 
     65 
     66// appending name/value pairs 
     67 
     68$smarty->append_by_ref("Name",$myname); 
     69 
     70$smarty->append_by_ref("Address",$address); 
     71 
     72 
     73 
     74= assign = 
     75 
     76---- 
     77 
     78void assign (mixed var) 
     79 
     80 
     81 
     82void assign (string varname, mixed var) 
     83 
     84 
     85 
     86Isso é usado para fixar valores para o template. Você pode explicitamente passar pares de nomes/valores, ou um array associativo contendo o par de nome/valor. 
     87 
     88 
     89 
     90Exemplo 13-3. assign 
     91 
     92 
     93 
     94// passing name/value pairs 
     95 
     96$smarty->assign("Name","Fred"); 
     97 
     98$smarty->assign("Address",$address); 
     99 
     100 
     101 
     102// passing an associative array 
     103 
     104$smarty->assign(array("city" => "Lincoln","state" => "Nebraska")); 
     105 
     106 
     107 
     108= assign_by_ref = 
     109 
     110---- 
     111 
     112void assign_by_ref (string varname, mixed var) 
     113 
     114 
     115 
     116Isso é usado para fixar valores para o template por referência ao invés de fazer uma cópia. Veja o manual do PHP na parte sobre referência de variáveis para uma explanação mais detalhada. 
     117 
     118 
     119 
     120    Notas Técnicas: Isso é usado para fixar valores para o template por referência. Se você fixar uma variável por referência e então alterar o valor dela, o valor fixado enxergará o valor alterado também. Para objetos, assign_by_ref() também restringe uma cópia de objetos fixados em memória. Veja o manual do php em refereciando variáveis para uma melhor explanação.  
     121 
     122 
     123 
     124Exemplo 13-4. assign_by_ref 
     125 
     126 
     127 
     128// passing name/value pairs 
     129 
     130$smarty->assign_by_ref("Name",$myname); 
     131 
     132$smarty->assign_by_ref("Address",$address); 
     133 
     134 
     135 
     136= clear_all_assign = 
     137 
     138---- 
     139 
     140void clear_all_assign () 
     141 
     142 
     143 
     144Isso limpa o valor de todas as variáveis fixadas. 
     145 
     146 
     147 
     148Exemplo 13-5. clear_all_assign 
     149 
     150 
     151 
     152// clear all assigned variables 
     153 
     154$smarty->clear_all_assign(); 
     155 
     156 
     157 
     158= clear_all_cache = 
     159 
     160---- 
     161 
     162void clear_all_cache (int expire time) 
     163 
     164 
     165 
     166Isso limpa completamente o cache de template. Como um parâmetro opcional, você pode fornecer um ano mínimo em segundos que o arquivo de cache deve ter antes deles serem apagados. 
     167 
     168 
     169 
     170Exemplo 13-6. clear_all_cache 
     171 
     172 
     173 
     174// clear the entire cache 
     175 
     176$smarty->clear_all_cache(); 
     177 
     178 
     179 
     180= clear_assign = 
     181 
     182---- 
     183 
     184void clear_assign (string var) 
     185 
     186 
     187 
     188Isso limpa o valor de uma variável fixada. Isso pode ser um valor simples, ou um array de valores. 
     189 
     190 
     191 
     192Exemplo 13-7. clear_assign 
     193 
     194 
     195 
     196// clear a single variable 
     197 
     198$smarty->clear_assign("Name"); 
     199 
     200 
     201 
     202// clear multiple variables 
     203 
     204$smarty->clear_assign(array("Name","Address","Zip")); 
     205 
     206 
     207 
     208= clear_cache = 
     209 
     210---- 
     211 
     212void clear_cache ( [string template [, string cache id [, string compile id [, int expire time]]]]) 
     213 
     214 
     215 
     216Isso limpa o cache de um template específico. Se você tem múltiplos caches para este arquivo, você limpa o cache específico fornecendo o cache id como o segundo parâmetro. Você pode também passar um compile id como um terceiro parâmetro. Você pode "agrupar" templates juntos e então eles podem ser removidos como um grupo. Veja o caching section para maiores informações. Como um quarto parâmetro opcional, você pode fornecer um ano mínimo em segundos que o arquivo de cache deve ter antes dele ser apagado. 
     217 
     218 
     219 
     220Exemplo 13-8. clear_cache 
     221 
     222 
     223 
     224// clear the cache for a template 
     225 
     226$smarty->clear_cache("index.tpl"); 
     227 
     228 
     229 
     230// clear the cache for a particular cache id in an multiple-cache template 
     231 
     232$smarty->clear_cache("index.tpl","CACHEID"); 
     233 
     234 
     235 
     236= clear_compiled_tpl = 
     237 
     238---- 
     239 
     240void clear_compiled_tpl (string tpl_file) 
     241 
     242 
     243 
     244Isso limpa a versão compilada do recurso de template especificado, ou todos os arquivos de templates compilados se nenhum for especificado. Essa função é para uso avançado somente, não normalmente necessária. 
     245 
     246 
     247 
     248Exemplo 13-9. clear_compiled_tpl 
     249 
     250 
     251 
     252// clear a specific template resource 
     253 
     254$smarty->clear_compiled_tpl("index.tpl"); 
     255 
     256 
     257 
     258// clear entire compile directory 
     259 
     260$smarty->clear_compiled_tpl(); 
     261 
     262 
     263 
     264= clear_config = 
     265 
     266---- 
     267 
     268void clear_config ( [string var]) 
     269 
     270 
     271 
     272Isso limpa todas as variáveis de configuração fixadas. Se um nome de variável é fornecido, somente esta variável é apagada. 
     273 
     274 
     275 
     276Exemplo 13-10. clear_config 
     277 
     278 
     279 
     280// clear all assigned config variables. 
     281 
     282$smarty->clear_config(); 
     283 
     284 
     285 
     286// clear one variable 
     287 
     288$smarty->clear_config('foobar'); 
     289 
     290 
     291 
     292= config_load = 
     293 
     294---- 
     295 
     296void config_load ( string file [, string section]) 
     297 
     298 
     299 
     300Isso carrega o arquivo de configuração de dados e fixa-o para o template. Isso funciona idêntico a função config_load. 
     301 
     302 
     303 
     304    Notas Técnicas: À partir da Smarty 2.4.0, variáveis de template fixadas são mantidas através de fetch() e display(). Variáveis de configuração carregadas de config_load() são sempre de escopo global. Arquivos de configuração também são compilados para execução rápida, e repeita o force_compile e compile_check parâmetros de configuração.  
     305 
     306 
     307 
     308Exemplo 13-11. config_load 
     309 
     310 
     311 
     312// load config variables and assign them 
     313 
     314$smarty->config_load('my.conf'); 
     315 
     316 
     317 
     318// load a section 
     319 
     320$smarty->config_load('my.conf','foobar'); 
     321 
     322 
     323 
     324= display = 
     325 
     326---- 
     327 
     328void display ( string template [, string cache_id [, string compile_id]]) 
     329 
     330 
     331 
     332Isso mostra o template. Fornecendo um válido template resource tipo e path. Como um segundo parâmetro opcional, você pode passar um cache id. Veja o caching section para maiores informações. 
     333 
     334 
     335 
     336Como um terceiro parâmetro opcional, você pode passar um compile id. Isso está no evento que você quer compilar diferentes versões do mesmo template, como ter templates compilados separadamente para diferentes linguagens. Outro uso para compile_id é quando você usa mais do que um $template_dir mas somente um $compile_dir. Seta um compile_id em separado para cada $template_dir, de outra maneira templates com mesmo nome irão sobrescrever-se um ao outro. Você pode também setar a variável $compile_id ao invés de passar isso para cada chamada de display(). 
     337 
     338 
     339 
     340Exemplo 13-12. display 
     341 
     342 
     343 
     344include("Smarty.class.php"); 
     345 
     346$smarty = new Smarty; 
     347 
     348$smarty->caching = true; 
     349 
     350 
     351 
     352// only do db calls if cache doesn't exist 
     353 
     354if(!$smarty->is_cached("index.tpl")) 
     355 
     356{ 
     357 
     358 
     359 
     360    // dummy up some data 
     361 
     362    $address = "245 N 50th"; 
     363 
     364    $db_data = array( 
     365 
     366            "City" => "Lincoln", 
     367 
     368            "State" => "Nebraska", 
     369 
     370            "Zip" = > "68502" 
     371 
     372            ); 
     373 
     374 
     375 
     376    $smarty->assign("Name","Fred"); 
     377 
     378    $smarty->assign("Address",$address); 
     379 
     380    $smarty->assign($db_data); 
     381 
     382 
     383 
     384} 
     385 
     386 
     387 
     388// display the output 
     389 
     390$smarty->display("index.tpl"); 
     391 
     392 
     393 
     394Use a sintaxe para template resources para mostrar arquivos fora do $template_dir directory. 
     395 
     396 
     397 
     398Exemplo 13-13. Exemplos de recursos da função display 
     399 
     400 
     401 
     402// absolute filepath 
     403 
     404$smarty->display("/usr/local/include/templates/header.tpl"); 
     405 
     406 
     407 
     408// absolute filepath (same thing) 
     409 
     410$smarty->display("file:/usr/local/include/templates/header.tpl"); 
     411 
     412 
     413 
     414// windows absolute filepath (MUST use "file:" prefix) 
     415 
     416$smarty->display("file:C:/www/pub/templates/header.tpl"); 
     417 
     418 
     419 
     420// include from template resource named "db" 
     421 
     422$smarty->display("db:header.tpl"); 
     423 
     424 
     425 
     426= fetch = 
     427 
     428---- 
     429 
     430string fetch ( string template [, string cache_id [, string compile_id]]) 
     431 
     432 
     433 
     434Isso retorna a saída do template ao invés de mostrá-lo. Fornecendo um tipo ou path válido template resource. Como um segundo parâmetro opcional, você pode passar o cache id. Veja o caching section para maiores informações. 
     435 
     436 
     437 
     438Como um terceiro parâmetro opcional, você pode passar um compile id. Isso está no evento que você quer compilar diferentes versões do mesmo template, como ter templates compilados separadamente para diferentes linguagens. Outro uso para compile_id é quando você usa mais do que um $template_dir mas somente um $compile_dir. Seta um compile_id em separado para cada $template_dir, de outra maneira templates com mesmo nome irão sobrescrever-se uns aos outros. Você pode também setar a variável $compile_id ao invés de passá-la para cada chamada de fetch(). 
     439 
     440 
     441 
     442Exemplo 13-14. fetch 
     443 
     444 
     445 
     446include("Smarty.class.php"); 
     447 
     448$smarty = new Smarty; 
     449 
     450 
     451 
     452$smarty->caching = true; 
     453 
     454 
     455 
     456// only do db calls if cache doesn't exist 
     457 
     458if(!$smarty->is_cached("index.tpl")) 
     459 
     460{ 
     461 
     462 
     463 
     464    // dummy up some data 
     465 
     466    $address = "245 N 50th"; 
     467 
     468    $db_data = array( 
     469 
     470            "City" => "Lincoln", 
     471 
     472            "State" => "Nebraska", 
     473 
     474            "Zip" = > "68502" 
     475 
     476            ); 
     477 
     478 
     479 
     480    $smarty->assign("Name","Fred"); 
     481 
     482    $smarty->assign("Address",$address); 
     483 
     484    $smarty->assign($db_data); 
     485 
     486 
     487 
     488} 
     489 
     490 
     491 
     492// capture the output 
     493 
     494$output = $smarty->fetch("index.tpl"); 
     495 
     496 
     497 
     498// do something with $output here 
     499 
     500 
     501 
     502echo $output; 
     503 
     504 
     505 
     506= get_config_vars = 
     507 
     508---- 
     509 
     510array get_config_vars ( [string varname]) 
     511 
     512 
     513 
     514Isso retorna o valor da variável de configuração dada. Se nenhum parâmetro é dado, um array de todas as variáveis dos arquivos de configurações é retornado. 
     515 
     516 
     517 
     518Exemplo 13-15. get_config_vars 
     519 
     520 
     521 
     522// get loaded config template var 'foo' 
     523 
     524$foo = $smarty->get_config_vars('foo'); 
     525 
     526 
     527 
     528// get all loaded config template vars 
     529 
     530$config_vars = $smarty->get_config_vars(); 
     531 
     532 
     533 
     534// take a look at them 
     535 
     536print_r($config_vars); 
     537 
     538 
     539 
     540= get_registered_object = 
     541 
     542---- 
     543 
     544array get_registered_object (string object_name) 
     545 
     546 
     547 
     548Isso retorna uma referência para um objeto registrado. Isso é útil para dentro de uma função customizada quando você precisa acessar diretamente um objeto registrado. 
     549 
     550 
     551 
     552Exemplo 13-16. get_registered_object 
     553 
     554 
     555 
     556function smarty_block_foo($params, &$smarty) { 
     557 
     558        if (isset[$params['object']]) { 
     559 
     560                // get reference to registered object 
     561 
     562                $obj_ref =& $smarty->&get_registered_object($params['object']); 
     563 
     564                // use $obj_ref is now a reference to the object 
     565 
     566        } 
     567 
     568} 
     569 
     570 
     571 
     572= get_template_vars = 
     573 
     574---- 
     575 
     576array get_template_vars ( [string varname]) 
     577 
     578 
     579 
     580Isso retorna o valor de uma variável fixada. Se nenhum parâmetro é dado, um array de todas as variávels fixadas é retornado. 
     581 
     582 
     583 
     584Exemplo 13-17. get_template_vars 
     585 
     586 
     587 
     588// get assigned template var 'foo' 
     589 
     590$foo = $smarty->get_template_vars('foo'); 
     591 
     592 
     593 
     594// get all assigned template vars 
     595 
     596$tpl_vars = $smarty->get_template_vars(); 
     597 
     598 
     599 
     600// take a look at them 
     601 
     602print_r($tpl_vars); 
     603 
     604 
     605 
     606= is_cached = 
     607 
     608---- 
     609 
     610void is_cached (string template, [string cache_id]) 
     611 
     612 
     613 
     614Isso retorna true se há um cache válido para esse template. Isso somente funciona se caching está setado para true. 
     615 
     616 
     617 
     618Exemplo 13-18. is_cached 
     619 
     620 
     621 
     622$smarty->caching = true; 
     623 
     624 
     625 
     626if(!$smarty->is_cached("index.tpl")) { 
     627 
     628    // do database calls, assign vars here 
     629 
     630} 
     631 
     632 
     633 
     634$smarty->display("index.tpl"); 
     635 
     636 
     637 
     638Você pode também passar um cache id como um segundo parâmetro opcional no caso você quer múltiplos caches para o template dado. 
     639 
     640 
     641 
     642Exemplo 13-19. is_cached with multiple-cache template 
     643 
     644 
     645 
     646$smarty->caching = true; 
     647 
     648 
     649 
     650if(!$smarty->is_cached("index.tpl","FrontPage")) { 
     651 
     652    // do database calls, assign vars here 
     653 
     654} 
     655 
     656 
     657 
     658$smarty->display("index.tpl","FrontPage"); 
     659 
     660 
     661 
     662= load_filter = 
     663 
     664---- 
     665 
     666void load_filter (string type, string name) 
     667 
     668 
     669 
     670Essa função pode ser usada para carregar um filtro de plugin. O primeiro argumento especifica o tipo do filtro para carregar e pode ser um dos seguintes: 'pre', 'post', ou 'output'. O segundo argumento especifica o nome do filtro de plugin, por exemplo, 'trim'. 
     671 
     672 
     673 
     674Exemplo 13-20. Carregando filtros de plugins 
     675 
     676 
     677 
     678$smarty->load_filter('pre', 'trim'); // load prefilter named 'trim' 
     679 
     680$smarty->load_filter('pre', 'datefooter'); // load another prefilter named 'datefooter' 
     681 
     682$smarty->load_filter('output', 'compress'); // load output filter named 'compress' 
     683 
     684 
     685 
     686= register_block = 
     687 
     688---- 
     689 
     690void register_block (string name, mixed impl, bool cacheable, array or null cache_attrs) 
     691 
     692 
     693 
     694Use isso para registrar dinamicamente blocos de funções de plugins. Passe no bloco de nomes de função, seguido por uma chamada de função PHP que implemente isso. 
     695 
     696 
     697 
     698A chamada de uma função-php impl pode ser (a) uma string contendo o nome da função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo um método desta classe. 
     699 
     700 
     701 
     702$cacheable e $cache_attrs podem ser omitidos na maior parte dos casos. Veja Controlando modos de Saída de Cache dos Plugins para obter informações apropriadas. 
     703 
     704 
     705 
     706Exemplo 13-21. register_block 
     707 
     708 
     709 
     710/* PHP */ 
     711 
     712$smarty->register_block("translate", "do_translation"); 
     713 
     714 
     715 
     716function do_translation ($params, $content, &$smarty, &$repeat) { 
     717 
     718    if (isset($content)) { 
     719 
     720        $lang = $params['lang']; 
     721 
     722        // do some translation with $content 
     723 
     724        return $translation; 
     725 
     726    } 
     727 
     728} 
     729 
     730 
     731 
     732{* template *} 
     733 
     734{translate lang="br"} 
     735 
     736   Hello, world! 
     737 
     738{/translate} 
     739 
     740 
     741 
     742= register_compiler_function = 
     743 
     744---- 
     745 
     746void register_compiler_function (string name, mixed impl, bool cacheable) 
     747 
     748 
     749 
     750Use isso para registrar dinamicamente uma função de plugin compilador. Passe no nome da função compilador, seguido pela função PHP que implemente isso. 
     751 
     752 
     753 
     754A chamada para função-php impl pode ser uma string contendo o nome da função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo o método desta classe. 
     755 
     756 
     757 
     758$cacheable pode ser omitido na maioria dos casos. Veja Controlando modos de Saída de Cache dos Plugins para obter informações apropriadas.  
     759 
     760 
     761 
     762= register_function = 
     763 
     764---- 
     765 
     766void register_function (string name, mixed impl, bool cacheable, array or null cache_attrs) 
     767 
     768 
     769 
     770Use isso para registrar funções de plugins dinamicamente para o template. Passe no template o nome da função, seguido pelo nome da função PHP que implemente isso. 
     771 
     772 
     773 
     774A chamada para função-php impl pode ser (a) uma string contendo o nome da função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo um método desta classe. 
     775 
     776 
     777 
     778$cacheable e $cache_attrs podem ser omitidos na maioria dos casos. Veja Controlando modos de Saída Cache dos Plugins para obter informações apropriadas. 
     779 
     780 
     781 
     782Exemplo 13-22. register_function 
     783 
     784 
     785 
     786$smarty->register_function("date_now", "print_current_date"); 
     787 
     788 
     789 
     790function print_current_date ($params) { 
     791 
     792    extract($params); 
     793 
     794    if(empty($format)) 
     795 
     796        $format="%b %e, %Y"; 
     797 
     798    return strftime($format,time()); 
     799 
     800} 
     801 
     802 
     803 
     804// agora você pode usar isso no Smarty para mostrar a data atual: {date_now} 
     805 
     806// ou, {date_now format="%Y/%m/%d"} para formatar isso. 
     807 
     808 
     809 
     810= register_modifier = 
     811 
     812---- 
     813 
     814void register_modifier (string name, mixed impl) 
     815 
     816 
     817 
     818Use isso para modificar dinamicamente plugins registrados. Passe no template o nome do modificador, seguido da função PHP que implemente isso. 
     819 
     820 
     821 
     822A chamada da função-php impl pode ser (a) uma strin contendo o nome da função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo um método desta classe. 
     823 
     824 
     825 
     826Exemplo 13-23. register_modifier 
     827 
     828 
     829 
     830// let's map PHP's stripslashes function to a Smarty modifier. 
     831 
     832 
     833 
     834$smarty->register_modifier("sslash","stripslashes"); 
     835 
     836 
     837 
     838// now you can use {$var|sslash} to strip slashes from variables 
     839 
     840 
     841 
     842= register_object = 
     843 
     844---- 
     845 
     846void register_object (string object_name, object $object, array allowed methods/properties, boolean format, array block methods) 
     847 
     848 
     849 
     850Isso é para registrar um objeto para uso no template. Veja a seção de objetos do manual para examplos.  
     851 
     852 
     853 
     854= register_outputfilter = 
     855 
     856---- 
     857 
     858void register_outputfilter (mixed function) 
     859 
     860 
     861 
     862Use isso para registrar dinamicamente filtros de saída para operações na saída do template antes de mostrá-lo. Veja Filtros de Saída de Templates para maiores informações de como configurar uma função de filtro de saída. 
     863 
     864 
     865 
     866A chamada da função-php function pode ser (a) uma string contendo um nome de função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo um método desta classe.  
     867 
     868 
     869 
     870= register_postfilter = 
     871 
     872---- 
     873 
     874void register_postfilter (mixed function) 
     875 
     876 
     877 
     878Use isso para registrar dinamicamente pósfiltros para rodar templates após eles terem sido compilados. Veja pósfiltros de template para maiores informações de como configurar funções de pósfiltragem. 
     879 
     880 
     881 
     882A chamada da função-php function pode ser (a) uma string contendo um nome de função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo um método desta classe.  
     883 
     884 
     885 
     886= register_prefilter = 
     887 
     888---- 
     889 
     890void register_prefilter (mixed function) 
     891 
     892 
     893 
     894Use isso para registrar préfiltros dinamicamente para rodar templates antes deles serem compilados. Veja template prefilters para maiores informações de como configurar uma função de préfiltragem. 
     895 
     896 
     897 
     898A chamada da função-php function pode ser (a) uma string contendo um nome de função ou (b) um array no formato array(&$object, $method) com &$object sendo uma referência para um objeto e $method sendo uma string contendo o nome do método ou (c) um array no formato array(&$class, $method) com $class sendo um nome de classe e $method sendo um método desta classe.  
     899 
     900 
     901 
     902= register_resource = 
     903 
     904---- 
     905 
     906void register_resource (string name, array resource_funcs) 
     907 
     908 
     909 
     910Use isso para registrar dinamicamente um recurso de plugin com a Smarty. Passe no nome o recurso e o array de funções PHP que implementam isso. Veja template resources para maiores informações de como configurar uma função para retornar templates. 
     911 
     912 
     913 
     914    Notas Técnicas: Um nome de recurso deve ter ao menos dois caracteres de comprimento. Um caracter do nome de recurso irá ser ignorado e usado como parte do path do arquivo como, $smarty->display('c:/path/to/index.tpl');  
     915 
     916 
     917 
     918A função-php-array resource_funcs deve ter 4 ou 5 elementos. Com 4 elementos os elementos são as functions-callbacks para as respectivas funções "source", "timestamp", "secure" e "trusted" de recurso. Com 5 elementos o primeiro elemento tem que ser um objeto por referência ou um nome de classe do objeto ou uma classe implementando o recurso e os 4 elementos seguintes tem que ter os nomes de métodos implementando "source", "timestamp", "secure" e "trusted". 
     919 
     920 
     921 
     922Exemplo 13-24. register_resource 
     923 
     924 
     925 
     926$smarty->register_resource("db", array("db_get_template", 
     927 
     928                                       "db_get_timestamp", 
     929 
     930                                       "db_get_secure", 
     931 
     932                                       "db_get_trusted")); 
     933 
     934 
     935 
     936= trigger_error = 
     937 
     938---- 
     939 
     940void trigger_error (string error_msg, [int level]) 
     941 
     942 
     943 
     944Essa função pode ser usada para saída de uma mensagem de erro usando Smarty. O parâmetro level pode ser um dos valores usados para a função de php trigger_error(), ex.: E_USER_NOTICE, E_USER_WARNING, etc. Por padrão é E_USER_WARNING.  
     945 
     946 
     947 
     948= template_exists = 
     949 
     950---- 
     951 
     952bool template_exists (string template) 
     953 
     954 
     955 
     956Essa função checa se o template especificado existe. Isso pode aceitar um path para o template no filesystem ou um recurso de string especificando o template.  
     957 
     958 
     959 
     960= unregister_block = 
     961 
     962---- 
     963 
     964void unregister_block (string name) 
     965 
     966 
     967 
     968Use isso para desregistrar dinamicamente um bloco de funções de plugin. Passe no bloco o nome da função.  
     969 
     970 
     971 
     972= unregister_compiler_function = 
     973 
     974---- 
     975 
     976void unregister_compiler_function (string name) 
     977 
     978 
     979 
     980Use essa função para desregistrar uma função de compilador. Passe o nome da função de compilador.  
     981 
     982 
     983 
     984= unregister_function = 
     985 
     986---- 
     987 
     988void unregister_function (string name) 
     989 
     990 
     991 
     992Use isso para desregistrar dinamicamente uma função de plugin do template. Passe no template o nome da função. 
     993 
     994 
     995 
     996Exemplo 13-25. unregister_function 
     997 
     998 
     999 
     1000// nós não queremos que designers template tenham acesso aos nossos arquivos do sistema 
     1001 
     1002 
     1003 
     1004$smarty->unregister_function("fetch"); 
     1005 
     1006 
     1007 
     1008= unregister_modifier = 
     1009 
     1010---- 
     1011 
     1012void unregister_modifier (string name) 
     1013 
     1014 
     1015 
     1016Use isso para desregistrar dincamimente um modificador de plugin. Passe no template o nome do modificador. 
     1017 
     1018 
     1019 
     1020Exemplo 13-26. unregister_modifier 
     1021 
     1022 
     1023 
     1024// nós não queremos que designers de template usem strip tags para os elementos 
     1025 
     1026 
     1027 
     1028$smarty->unregister_modifier("strip_tags"); 
     1029 
     1030 
     1031 
     1032== unregister_object == 
     1033 
     1034---- 
     1035 
     1036void unregister_object (string object_name) 
     1037 
     1038 
     1039 
     1040Use isso para desregistrar um objeto.  
     1041 
     1042 
     1043 
     1044= unregister_outputfilter = 
     1045 
     1046---- 
     1047 
     1048void unregister_outputfilter (string function_name) 
     1049 
     1050 
     1051 
     1052Use isso para desregistrar dinamicamente um filtro de saída.  
     1053 
     1054 
     1055 
     1056= unregister_postfilter = 
     1057 
     1058---- 
     1059 
     1060void unregister_postfilter (string function_name) 
     1061 
     1062 
     1063 
     1064Use isso para dinamicamente desregistrar um pósfiltro.  
     1065 
     1066 
     1067 
     1068= unregister_prefilter = 
     1069 
     1070---- 
     1071 
     1072void unregister_prefilter (string function_name) 
     1073 
     1074 
     1075 
     1076Use isso para dinamicamente desregistrar um préfiltro.  
     1077 
     1078 
     1079 
     1080= unregister_resource = 
     1081 
     1082---- 
     1083 
     1084void unregister_resource (string name) 
     1085 
     1086 
     1087 
     1088Use isso para dinamicamente desregistrar um recurso de plugin. Passe no parâmetro nome o nome do recurso. 
     1089 
     1090 
     1091 
     1092Exemplo 13-27. unregister_resource 
     1093 
     1094 
     1095 
     1096$smarty->unregister_resource("db");