php封装的smartyBC类完整实例

前端之家收集整理的这篇文章主要介绍了php封装的smartyBC类完整实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP封装的smartyBC类。分享给大家供大家参考,具体如下:

PHP;"> PHP /** * Project: Smarty: the PHP compiling template engine * File: SmartyBC.class.PHP * SVN: $Id: $ * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License,or (at your option) any later version. * This library is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public * License along with this library; if not,write to the Free Software * Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA 02111-1307 USA * For questions,help,comments,discussion,etc.,please join the * Smarty mailing list. Send a blank e-mail to * smarty-discussion-subscribe@googlegroups.com * * @link http://www.smarty.net/ * @copyright 2008 New Digital Group,Inc. * @author Monte Ohrt * @author Uwe Tews * @author Rodney Rehm * @package Smarty */ /** * @ignore */ require_once(dirname(__FILE__) . '/Smarty.class.PHP'); /** * Smarty Backward Compatability Wrapper Class * * @package Smarty */ class SmartyBC extends Smarty { /** * Smarty 2 BC * * @var string */ public $_version = self::SMARTY_VERSION; /** * Initialize new SmartyBC object * * @param array $options options to set during initialization,e.g. array( 'forceCompile' => false ) */ public function __construct(array $options = array()) { parent::__construct($options); // register {PHP} tag $this->registerPlugin('block','PHP','smarty_PHP_tag'); } /** * wrapper for assign_by_ref * * @param string $tpl_var the template variable name * @param mixed &$value the referenced value to assign */ public function assign_by_ref($tpl_var,&$value) { $this->assignByRef($tpl_var,$value); } /** * wrapper for append_by_ref * * @param string $tpl_var the template variable name * @param mixed &$value the referenced value to append * @param boolean $merge flag if array elements shall be merged */ public function append_by_ref($tpl_var,&$value,$merge = false) { $this->appendByRef($tpl_var,$value,$merge); } /** * clear the given assigned template variable. * * @param string $tpl_var the template variable to clear */ public function clear_assign($tpl_var) { $this->clearAssign($tpl_var); } /** * Registers custom function to be used in templates * * @param string $function the name of the template function * @param string $function_impl the name of the PHP function to register * @param bool $cacheable * @param mixed $cache_attrs */ public function register_function($function,$function_impl,$cacheable = true,$cache_attrs = null) { $this->registerPlugin('function',$function,$cacheable,$cache_attrs); } /** * Unregisters custom function * * @param string $function name of template function */ public function unregister_function($function) { $this->unregisterPlugin('function',$function); } /** * Registers object to be used in templates * * @param string $object name of template object * @param object $object_impl the referenced PHP object to register * @param array $allowed list of allowed methods (empty = all) * @param boolean $smarty_args smarty argument format,else traditional * @param array $block_methods list of methods that are block format * * @throws SmartyException * @internal param array $block_functs list of methods that are block format */ public function register_object($object,$object_impl,$allowed = array(),$smarty_args = true,$block_methods = array()) { settype($allowed,'array'); settype($smarty_args,'boolean'); $this->registerObject($object,$allowed,$smarty_args,$block_methods); } /** * Unregisters object * * @param string $object name of template object */ public function unregister_object($object) { $this->unregisterObject($object); } /** * Registers block function to be used in templates * * @param string $block name of template block * @param string $block_impl PHP function to register * @param bool $cacheable * @param mixed $cache_attrs */ public function register_block($block,$block_impl,$cache_attrs = null) { $this->registerPlugin('block',$block,$cache_attrs); } /** * Unregisters block function * * @param string $block name of template function */ public function unregister_block($block) { $this->unregisterPlugin('block',$block); } /** * Registers compiler function * * @param string $function name of template function * @param string $function_impl name of PHP function to register * @param bool $cacheable */ public function register_compiler_function($function,$cacheable = true) { $this->registerPlugin('compiler',$cacheable); } /** * Unregisters compiler function * * @param string $function name of template function */ public function unregister_compiler_function($function) { $this->unregisterPlugin('compiler',$function); } /** * Registers modifier to be used in templates * * @param string $modifier name of template modifier * @param string $modifier_impl name of PHP function to register */ public function register_modifier($modifier,$modifier_impl) { $this->registerPlugin('modifier',$modifier,$modifier_impl); } /** * Unregisters modifier * * @param string $modifier name of template modifier */ public function unregister_modifier($modifier) { $this->unregisterPlugin('modifier',$modifier); } /** * Registers a resource to fetch a template * * @param string $type name of resource * @param array $functions array of functions to handle resource */ public function register_resource($type,$functions) { $this->registerResource($type,$functions); } /** * Unregisters a resource * * @param string $type name of resource */ public function unregister_resource($type) { $this->unregisterResource($type); } /** * Registers a prefilter function to apply * to a template before compiling * * @param callable $function */ public function register_prefilter($function) { $this->registerFilter('pre',$function); } /** * Unregisters a prefilter function * * @param callable $function */ public function unregister_prefilter($function) { $this->unregisterFilter('pre',$function); } /** * Registers a postfilter function to apply * to a compiled template after compilation * * @param callable $function */ public function register_postfilter($function) { $this->registerFilter('post',$function); } /** * Unregisters a postfilter function * * @param callable $function */ public function unregister_postfilter($function) { $this->unregisterFilter('post',$function); } /** * Registers an output filter function to apply * to a template output * * @param callable $function */ public function register_outputfilter($function) { $this->registerFilter('output',$function); } /** * Unregisters an outputfilter function * * @param callable $function */ public function unregister_outputfilter($function) { $this->unregisterFilter('output',$function); } /** * load a filter of specified type and name * * @param string $type filter type * @param string $name filter name */ public function load_filter($type,$name) { $this->loadFilter($type,$name); } /** * clear cached content for the given template and cache id * * @param string $tpl_file name of template file * @param string $cache_id name of cache_id * @param string $compile_id name of compile_id * @param string $exp_time expiration time * * @return boolean */ public function clear_cache($tpl_file = null,$cache_id = null,$compile_id = null,$exp_time = null) { return $this->clearCache($tpl_file,$cache_id,$compile_id,$exp_time); } /** * clear the entire contents of cache (all templates) * * @param string $exp_time expire time * * @return boolean */ public function clear_all_cache($exp_time = null) { return $this->clearCache(null,null,$exp_time); } /** * test to see if valid cache exists for this template * * @param string $tpl_file name of template file * @param string $cache_id * @param string $compile_id * * @return boolean */ public function is_cached($tpl_file,$compile_id = null) { return $this->isCached($tpl_file,$compile_id); } /** * clear all the assigned template variables. */ public function clear_all_assign() { $this->clearAllAssign(); } /** * clears compiled version of specified template resource,* or all compiled template files if one is not specified. * This function is for advanced use only,not normally needed. * * @param string $tpl_file * @param string $compile_id * @param string $exp_time * * @return boolean results of {@link smarty_core_rm_auto()} */ public function clear_compiled_tpl($tpl_file = null,$exp_time = null) { return $this->clearCompiledTemplate($tpl_file,$exp_time); } /** * Checks whether requested template exists. * * @param string $tpl_file * * @return boolean */ public function template_exists($tpl_file) { return $this->templateExists($tpl_file); } /** * Returns an array containing template variables * * @param string $name * * @return array */ public function get_template_vars($name = null) { return $this->getTemplateVars($name); } /** * Returns an array containing config variables * * @param string $name * * @return array */ public function get_config_vars($name = null) { return $this->getConfigVars($name); } /** * load configuration values * * @param string $file * @param string $section * @param string $scope */ public function config_load($file,$section = null,$scope = 'global') { $this->ConfigLoad($file,$section,$scope); } /** * return a reference to a registered object * * @param string $name * * @return object */ public function get_registered_object($name) { return $this->getRegisteredObject($name); } /** * clear configuration values * * @param string $var */ public function clear_config($var = null) { $this->clearConfig($var); } /** * trigger Smarty error * * @param string $error_msg * @param integer $error_type */ public function trigger_error($error_msg,$error_type = E_USER_WARNING) { trigger_error("Smarty error: $error_msg",$error_type); } } /** * Smarty {PHP}{/PHP} block function * * @param array $params parameter list * @param string $content contents of the block * @param object $template template object * @param boolean &$repeat repeat flag * * @return string content re-formatted */ function smarty_PHP_tag($params,$content,$template,&$repeat) { eval($content); return ''; }

更多关于Smarty相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

原文链接:https://www.f2er.com/php/18734.html

猜你在找的PHP相关文章