当前位置: 首页>>代码示例>>PHP>>正文


PHP Smarty_Internal_Get_Include_Path::isNewIncludePath方法代码示例

本文整理汇总了PHP中Smarty_Internal_Get_Include_Path::isNewIncludePath方法的典型用法代码示例。如果您正苦于以下问题:PHP Smarty_Internal_Get_Include_Path::isNewIncludePath方法的具体用法?PHP Smarty_Internal_Get_Include_Path::isNewIncludePath怎么用?PHP Smarty_Internal_Get_Include_Path::isNewIncludePath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Smarty_Internal_Get_Include_Path的用法示例。


在下文中一共展示了Smarty_Internal_Get_Include_Path::isNewIncludePath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getIncludePathDirs

 /**
  * return array with include path directories
  *
  * @return array
  */
 public static function getIncludePathDirs(Smarty $smarty)
 {
     Smarty_Internal_Get_Include_Path::isNewIncludePath($smarty);
     return self::$_include_dirs;
 }
开发者ID:redaxle,项目名称:smarty,代码行数:10,代码来源:smarty_internal_get_include_path.php

示例2: loadPlugin

 /**
  * Takes unknown classes and loads plugin files for them
  * class name format: Smarty_PluginType_PluginName
  * plugin filename format: plugintype.pluginname.php
  *
  * @param \Smarty $smarty
  * @param  string $plugin_name class plugin name to load
  * @param  bool   $check       check if already loaded
  *
  * @return bool|string
  * @throws \SmartyException
  */
 public static function loadPlugin(Smarty $smarty, $plugin_name, $check)
 {
     // if function or class exists, exit silently (already loaded)
     if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false))) {
         return true;
     }
     if (!preg_match('#^smarty_((internal)|([^_]+))_(.+)$#i', $plugin_name, $match)) {
         throw new SmartyException("plugin {$plugin_name} is not a valid name format");
     }
     if (!empty($match[2])) {
         $file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php';
         if (isset($smarty->_cache['plugin_files'][$file])) {
             if ($smarty->_cache['plugin_files'][$file] !== false) {
                 return $smarty->_cache['plugin_files'][$file];
             } else {
                 return false;
             }
         } else {
             if (is_file($file)) {
                 $smarty->_cache['plugin_files'][$file] = $file;
                 require_once $file;
                 return $file;
             } else {
                 $smarty->_cache['plugin_files'][$file] = false;
                 return false;
             }
         }
     }
     // plugin filename is expected to be: [type].[name].php
     $_plugin_filename = "{$match[1]}.{$match[4]}.php";
     $_lower_filename = strtolower($_plugin_filename);
     if (isset($smarty->_cache['plugin_files'])) {
         if (isset($smarty->_cache['plugin_files']['plugins_dir'][$_lower_filename])) {
             if (!$smarty->use_include_path || $smarty->_cache['plugin_files']['plugins_dir'][$_lower_filename] !== false) {
                 return $smarty->_cache['plugin_files']['plugins_dir'][$_lower_filename];
             }
         }
         if (!$smarty->use_include_path || Smarty_Internal_Get_Include_Path::isNewIncludePath($smarty)) {
             unset($smarty->_cache['plugin_files']['include_path']);
         } else {
             if (isset($smarty->_cache['plugin_files']['include_path'][$_lower_filename])) {
                 return $smarty->_cache['plugin_files']['include_path'][$_lower_filename];
             }
         }
     }
     $_file_names = array($_plugin_filename);
     if ($_lower_filename != $_plugin_filename) {
         $_file_names[] = $_lower_filename;
     }
     $_p_dirs = $smarty->getPluginsDir();
     if (!isset($smarty->_cache['plugin_files']['plugins_dir'][$_lower_filename])) {
         // loop through plugin dirs and find the plugin
         foreach ($_p_dirs as $_plugin_dir) {
             foreach ($_file_names as $name) {
                 $file = $_plugin_dir . $name;
                 if (is_file($file)) {
                     $smarty->_cache['plugin_files']['plugins_dir'][$_lower_filename] = $file;
                     require_once $file;
                     return $file;
                 }
                 $smarty->_cache['plugin_files']['plugins_dir'][$_lower_filename] = false;
             }
         }
     }
     if ($smarty->use_include_path) {
         foreach ($_file_names as $_file_name) {
             // try PHP include_path
             $file = Smarty_Internal_Get_Include_Path::getIncludePath($_p_dirs, $_file_name, $smarty);
             $smarty->_cache['plugin_files']['include_path'][$_lower_filename] = $file;
             if ($file !== false) {
                 require_once $file;
                 return $file;
             }
         }
     }
     // no plugin loaded
     return false;
 }
开发者ID:A111ex,项目名称:adv-multilanding,代码行数:90,代码来源:smarty_internal_extension_loadplugin.php


注:本文中的Smarty_Internal_Get_Include_Path::isNewIncludePath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。