本文整理汇总了PHP中F3::hash方法的典型用法代码示例。如果您正苦于以下问题:PHP F3::hash方法的具体用法?PHP F3::hash怎么用?PHP F3::hash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F3
的用法示例。
在下文中一共展示了F3::hash方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: grab
/**
Grab file contents
@return mixed
@param $file string
@public
**/
function grab($file)
{
$file = F3::resolve($file);
if (!ini_get('short_open_tag')) {
$text = preg_replace_callback('/<\\?(?:\\s|\\s*(=))(.+?)\\?>/s', function ($tag) {
return '<?php ' . ($tag[1] ? 'echo ' : '') . trim($tag[2]) . ' ?>';
}, $orig = self::getfile($file));
if (ini_get('allow_url_fopen') && ini_get('allow_url_include')) {
// Stream wrap
$file = 'data:text/plain,' . urlencode($text);
} elseif ($text != $orig) {
// Save re-tagged file in temporary folder
if (!is_dir($ref = F3::ref('TEMP'))) {
F3::mkdir($ref);
}
$temp = $ref . $_SERVER['SERVER_NAME'] . '.tpl.' . F3::hash($file);
if (!is_file($temp)) {
self::mutex(function () use($temp, $text) {
file_put_contents($temp, $text);
});
}
$file = $temp;
}
}
ob_start();
// Render
$this->sandbox($file);
return ob_get_clean();
}
示例2: grab
/**
Grab file contents
@return mixed
@param $file string
@public
**/
function grab($file)
{
$file = F3::resolve($file);
ob_start();
if (!ini_get('short_open_tag')) {
$text = preg_replace_callback('/<\\?(?:\\s|\\s*(=))(.+?)\\?>/s', function ($tag) {
return '<?php ' . ($tag[1] ? 'echo ' : '') . trim($tag[2]) . ' ?>';
}, $orig = file_get_contents($file));
if (ini_get('allow_url_fopen') && ini_get('allow_url_include')) {
// Stream wrap
$file = 'data:text/plain,' . urlencode($text);
} elseif ($text != $orig) {
// Save re-tagged file in temporary folder
if (!is_dir($ref = F3::ref('TEMP'))) {
F3::mkdir($ref);
}
$temp = $ref . $_SERVER['SERVER_NAME'] . '.tpl.' . F3::hash($file);
if (!is_file($temp)) {
// Create semaphore
$hash = 'sem.' . F3::hash($file);
$cached = Cache::cached($hash);
while ($cached) {
// Locked by another process
usleep(mt_rand(0, 1000));
}
Cache::set($hash, TRUE);
file_put_contents($temp, $text, LOCK_EX);
// Remove semaphore
Cache::clear($hash);
}
$file = $temp;
}
}
// Render
$this->sandbox($file);
return ob_get_clean();
}