温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在php中对smartyBC类进行封装

发布时间:2021-02-24 17:14:34 来源:亿速云 阅读:175 作者:Leah 栏目:开发技术

这篇文章将为大家详细讲解有关怎么在php中对smartyBC类进行封装,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

具体如下:

<?php /**  * @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, $function_impl, $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, $object_impl, $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, $cacheable = true, $cache_attrs = null)   {     $this->registerPlugin('block', $block, $block_impl, $cacheable, $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, $function_impl, $cacheable = true)   {     $this->registerPlugin('compiler', $function, $function_impl, $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, 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, $cache_id = null, $compile_id = null)   {     return $this->isCached($tpl_file, $cache_id, $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, $compile_id = null, $exp_time = null)   {     return $this->clearCompiledTemplate($tpl_file, $compile_id, $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 ''; }

关于怎么在php中对smartyBC类进行封装就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI