Template.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief встраивание шаблонов
6  *
7  */
8 
9 namespace Wrong\Html;
10 
13 
14 /**
15  * @brief Template класс встраивает шаблоны
16  *
17  */
18 
19 class Template
20 {
21  /**
22  * Встраивает шаблон по его идентификатору после проверки прав доступа на чтение
23  *
24  * @param int $template_require_id
25  */
26  public static function require($template_require_id)
27  {
28  foreach (array_filter(array_keys($GLOBALS), function ($key) {
29  return $key != 'GLOBALS' && substr($key, 0, 1) != '_' && $key != 'template_require_id';
30  }) as $k) {
31  ${$k} = &$GLOBALS[$k];
32  }
33  $template_require = Templates::find($template_require_id);
34  if ($user->access()->read($template_require)) {
35  $data = '';
36  if ($template_require->cache_time) {
37  $mem = new Cache('template-cache');
38  if ($data = $mem->get($template_require->id, $template_require->cache_time)) {
39  echo $data;
40  } else {
41  ob_start();
42  }
43  }
44  if (!$data) {
45  require $_SERVER['DOCUMENT_ROOT'] . $template_require->file;
46  if ($template_require->cache_time) {
47  $mem->set($template_require->id, ob_get_contents(), $template_require->cache_time);
48  }
49  }
50  }
51  foreach (get_defined_vars() as $k => $var) {
52  $GLOBALS[$k] = $var;
53  }
54  }
55 }
$mem
Definition: settings.php:129
if(! $response->_meta) $data
Definition: anycomment.php:18
static find($value, $column='id', $table='')
Definition: Controller.php:31
Template класс встраивает шаблоны
Definition: Template.php:20
Cache класс, отвечающий за кеширование
Definition: Cache.php:19
Templates контроллер управления моделями выборок, расширяет Controller.
Definition: Templates.php:22
$user
Definition: from-user.php:38
setcookie('FROM_UID', $uid, [ 'expires'=> time()+31536000, 'path'=> '/', 'domain'=> $_SERVER['HTTP_HOST'], 'secure'=> Wrong\Start\Env::$e->IS_SECURE, 'httponly'=> false, 'samesite'=> Wrong\Start\Env::$e->IS_SECURE ? 'None' :'Lax']) or setcookie('FROM_UID' $_SERVER['HTTP_HOST']
Definition: from-user.php:36