本文整理汇总了PHP中JS::format方法的典型用法代码示例。如果您正苦于以下问题:PHP JS::format方法的具体用法?PHP JS::format怎么用?PHP JS::format使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JS
的用法示例。
在下文中一共展示了JS::format方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load
static function load($js, $params = NULL)
{
static $_lamda_cache;
$output = '';
if (is_array($js)) {
foreach ($js as $j) {
$output .= self::load($j, $params);
}
return $output;
}
$output = '<script type="text/javascript">(function(){';
$js_key = md5($js);
$params = (array) $params;
ksort($params);
if (!isset($_lamda_cache[$js_key])) {
list($category, $path) = explode(':', $js, 2);
if (!$path) {
$path = $category;
$category = NULL;
}
$path = PRIVATE_BASE . 'js/' . $path . '.js';
$path = Core::file_exists($path, $category);
if (!$path) {
return '';
}
$mtime = filemtime($path);
$lamda = 'jslamda_' . $js_key;
$prefix_path = Config::get('system.tmp_dir') . 'js/';
$locale = Config::get('system.locale');
if ($locale) {
$prefix_path .= $locale . '_';
}
$mode = Config::get('page.js_mode');
if ($mode) {
$prefix_path .= $mode . '_';
}
$cache_file = $prefix_path . $lamda;
$re_cache = TRUE;
if (file_exists($cache_file)) {
$cache_mtime = filemtime($cache_file);
if ($cache_mtime > $mtime) {
$re_cache = FALSE;
}
} else {
File::check_path($cache_file);
}
if ($re_cache) {
$cache = 'Q.' . $lamda . '=function(_oO){';
$i = 0;
foreach ($params as $k => $v) {
$cache .= sprintf('var %s = _oO[%d]; ', $k, $i);
$i++;
}
$cache .= JS::format(@file_get_contents($path));
$cache .= '};';
@file_put_contents($cache_file, $cache);
} else {
$cache = @file_get_contents($cache_file);
}
$output .= $cache;
$_lamda_cache[$js_key] = $lamda;
} else {
$lamda = $_lamda_cache[$js_key];
}
$vars = array();
foreach ($params as $k => $v) {
$vars[] = $v;
}
$output .= 'Q.' . $lamda . '(' . json_encode($vars) . ');';
$output .= '})();</script>';
return $output;
}