/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
throw new LogicException('A block must be a method on a Twig_Template instance.');
}
try {
$template->$block($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateFile()) {
$e->setTemplateFile($template->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
}
}
/**
* Renders a parent block.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The block name to render from the parent
* @param array $context The context
* @param array $blocks The current set of blocks
*
* @return string The rendered block
*
* @internal
*/
Arguments
"An exception has been thrown during the rendering of a template ("array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead") in "partials/base.html.twig" at line 10."
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
if ($isDefinedTest) {
return false;
}
if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
return;
}
if (null === $object) {
$message = sprintf('Impossible to invoke a method ("%s") on a null variable.', $item);
} else {
$message = sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s").', $item, gettype($object), $object);
}
throw new Twig_Error_Runtime($message, -1, $this->getTemplateName());
}
// object property
if (self::METHOD_CALL !== $type && !$object instanceof self) { // Twig_Template does not have public properties, and we don't want to allow access to internal ones
if (isset($object->$item) || array_key_exists((string) $item, $object)) {
if ($isDefinedTest) {
return true;
}
if ($this->env->hasExtension('Twig_Extension_Sandbox')) {
$this->env->getExtension('Twig_Extension_Sandbox')->checkPropertyAllowed($object, $item);
}
return $object->$item;
}
}
$class = get_class($object);
// object method
if (!isset(self::$cache[$class]['methods'])) {
// get_class_methods returns all methods accessible in the scope, but we only want public ones to be accessible in templates
if ($object instanceof self) {
$ref = new ReflectionClass($class);
$methods = array();
Arguments
"array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead"
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
if ($isDefinedTest) {
return false;
}
if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
return;
}
if (null === $object) {
$message = sprintf('Impossible to invoke a method ("%s") on a null variable.', $item);
} else {
$message = sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s").', $item, gettype($object), $object);
}
throw new Twig_Error_Runtime($message, -1, $this->getTemplateName());
}
// object property
if (self::METHOD_CALL !== $type && !$object instanceof self) { // Twig_Template does not have public properties, and we don't want to allow access to internal ones
if (isset($object->$item) || array_key_exists((string) $item, $object)) {
if ($isDefinedTest) {
return true;
}
if ($this->env->hasExtension('Twig_Extension_Sandbox')) {
$this->env->getExtension('Twig_Extension_Sandbox')->checkPropertyAllowed($object, $item);
}
return $object->$item;
}
}
$class = get_class($object);
// object method
if (!isset(self::$cache[$class]['methods'])) {
// get_class_methods returns all methods accessible in the scope, but we only want public ones to be accessible in templates
if ($object instanceof self) {
$ref = new ReflectionClass($class);
$methods = array();
Arguments
8192
"array_key_exists(): Using array_key_exists() on objects is deprecated. Use isset() or property_exists() instead"
"/home/glenstrurv/glen/musique/vendor/twig/twig/lib/Twig/Template.php"
528
array:7 [
"object" => {}
"item" => "description"
"arguments" => []
"type" => "any"
"isDefinedTest" => false
"ignoreStrictCheck" => false
"arrayItem" => "description"
]
/home
/glenstrurv
/glen
/musique
/cache
/twig
/7d
/7d561ac1f460c6f7a9bb202431561d8c0a4751d85904b02a47ef3d4b34c2feff.php
</body>";
// line 98
$this->displayBlock('bottom', $context, $blocks);
// line 99
echo "</html>
";
}
// line 4
public function block_head($context, array $blocks = array())
{
// line 5
echo " <meta charset=\"utf-8\">
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">
<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
<meta name=\"HandheldFriendly\" content=\"True\">
<meta name=\"author\" content=\"Glen Struillou\">";
// line 10
if ($this->getAttribute((isset($context["header"]) ? $context["header"] : null), "description", array())) {
// line 11
echo " <meta name=\"description\" content=\"";
echo $this->getAttribute((isset($context["header"]) ? $context["header"] : null), "description", array());
echo "\">";
} else {
// line 13
echo " <meta name=\"description\" content=\"";
echo $this->getAttribute((isset($context["site"]) ? $context["site"] : null), "description", array());
echo "\">";
}
// line 15
if ($this->getAttribute((isset($context["header"]) ? $context["header"] : null), "robots", array())) {
// line 16
echo " <meta name=\"robots\" content=\"";
echo $this->getAttribute((isset($context["header"]) ? $context["header"] : null), "robots", array());
echo "\">";
}
// line 18
echo "
<link rel=\"icon\" type=\"image/png\" href=\"";
Arguments
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
if (null !== $template) {
// avoid RCEs when sandbox is enabled
if (!$template instanceof self) {
throw new LogicException('A block must be a method on a Twig_Template instance.');
}
try {
$template->$block($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateFile()) {
$e->setTemplateFile($template->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
}
}
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:6 [
"head" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_content"
]
"javascripts" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_javascripts"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/cache
/twig
/7d
/7d561ac1f460c6f7a9bb202431561d8c0a4751d85904b02a47ef3d4b34c2feff.php
$this->parent = false;
$this->blocks = array(
'head' => array($this, 'block_head'),
'stylesheets' => array($this, 'block_stylesheets'),
'body' => array($this, 'block_body'),
'content' => array($this, 'block_content'),
'javascripts' => array($this, 'block_javascripts'),
'bottom' => array($this, 'block_bottom'),
);
}
protected function doDisplay(array $context, array $blocks = array())
{
// line 1
echo "<!DOCTYPE html>
<html lang=\"en\">
<head>";
// line 4
$this->displayBlock('head', $context, $blocks);
// line 40
echo " </head>";
// line 42
$this->displayBlock('body', $context, $blocks);
// line 46
$this->loadTemplate("partials/header.html.twig", "partials/base.html.twig", 46)->display($context);
// line 47
$this->loadTemplate("partials/navigation.html.twig", "partials/base.html.twig", 47)->display($context);
// line 48
echo "
<div class=\"site-wrapper\">";
// line 51
$this->displayBlock('content', $context, $blocks);
// line 52
echo " </div>";
// line 55
$this->displayBlock('javascripts', $context, $blocks);
// line 78
echo "
<script>
Arguments
"head"
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:6 [
"head" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_content"
]
"javascripts" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_javascripts"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateFile()) {
$e->setTemplateFile($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:6 [
"head" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_content"
]
"javascripts" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_javascripts"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @see hasBlock
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:6 [
"head" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_head"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_content"
]
"javascripts" => array:2 [
0 => __TwigTemplate_1159c3cdc227480e6934820cc51f5a988881b4deab917b366c0c56febd681b39 {#1}
1 => "block_javascripts"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#2}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/cache
/twig
/bd
/bda5630504b6f5e73f1a5423ff2f58d6b345c981c727e9fa42a03401f1dd6d4b.php
{
parent::__construct($env);
$this->parent = $this->loadTemplate("partials/base.html.twig", "post.html.twig", 1);
$this->blocks = array(
'stylesheets' => array($this, 'block_stylesheets'),
'body' => array($this, 'block_body'),
'content' => array($this, 'block_content'),
'bottom' => array($this, 'block_bottom'),
);
}
protected function doGetParent(array $context)
{
return "partials/base.html.twig";
}
protected function doDisplay(array $context, array $blocks = array())
{
$this->parent->display($context, array_merge($this->blocks, $blocks));
}
// line 2
public function block_stylesheets($context, array $blocks = array())
{
// line 3
$this->getAttribute((isset($context["assets"]) ? $context["assets"] : null), "add", array(0 => "theme://css/post.css", 1 => 100), "method");
// line 4
echo $this->getAttribute((isset($context["assets"]) ? $context["assets"] : null), "css", array(), "method");
}
// line 7
public function block_body($context, array $blocks = array())
{
// line 8
echo "<body class=\"post-template nav-closed\" itemscope itemtype=\"http://schema.org/Article\">";
}
// line 11
public function block_content($context, array $blocks = array())
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:4 [
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_content"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateFile()) {
$e->setTemplateFile($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:4 [
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_content"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @see hasBlock
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
array:4 [
"stylesheets" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_stylesheets"
]
"body" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_content"
]
"bottom" => array:2 [
0 => __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908_272133671 {#1}
1 => "block_bottom"
]
]
/home
/glenstrurv
/glen
/musique
/cache
/twig
/bd
/bda5630504b6f5e73f1a5423ff2f58d6b345c981c727e9fa42a03401f1dd6d4b.php
<?php
/* post.html.twig */
class __TwigTemplate_e2c6d6576ed7af66db098045189fd980426ac96cce7999854720b207f6660908 extends Twig_Template
{
public function __construct(Twig_Environment $env)
{
parent::__construct($env);
$this->parent = false;
$this->blocks = array(
);
}
protected function doDisplay(array $context, array $blocks = array())
{
// line 1
$this->loadTemplate("post.html.twig", "post.html.twig", 1, "272133671")->display($context);
}
public function getTemplateName()
{
return "post.html.twig";
}
public function getDebugInfo()
{
return array ( 19 => 1,);
}
public function getSource()
{
return "{% embed 'partials/base.html.twig' %}
{% block stylesheets %}
{% do assets.add('theme://css/post.css',100) %}
{{ assets.css() }}
{% endblock %}
{% block body %}
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getTemplateFile()) {
$e->setTemplateFile($this->getTemplateName());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
[]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @see hasBlock
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
Arguments
array:19 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
"grav" => Grav {}
]
[]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Template.php
return $this->blocks;
}
/**
* {@inheritdoc}
*/
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
/**
* {@inheritdoc}
*/
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
Arguments
array:18 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
]
/home
/glenstrurv
/glen
/musique
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
*
* @param string $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws Twig_Error_Loader When the template cannot be found
* @throws Twig_Error_Syntax When an error occurred during compilation
* @throws Twig_Error_Runtime When an error occurred during rendering
*/
public function render($name, array $context = array())
{
return $this->loadTemplate($name)->render($context);
}
/**
* Displays a template.
*
* @param string $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws Twig_Error_Loader When the template cannot be found
* @throws Twig_Error_Syntax When an error occurred during compilation
* @throws Twig_Error_Runtime When an error occurred during rendering
*/
public function display($name, array $context = array())
{
$this->loadTemplate($name)->display($context);
}
/**
* Loads a template by name.
*
Arguments
array:18 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
]
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Twig
/Twig.php
$twig_vars = $this->twig_vars;
$twig_vars['pages'] = $pages->root();
$twig_vars['page'] = $page;
$twig_vars['header'] = $page->header();
$twig_vars['media'] = $page->media();
$twig_vars['content'] = $content;
$ext = '.' . ($format ? $format : 'html') . TWIG_EXT;
// determine if params are set, if so disable twig cache
$params = $this->grav['uri']->params(null, true);
if (!empty($params)) {
$this->twig->setCache(false);
}
// Get Twig template layout
$template = $this->template($page->template() . $ext);
try {
$output = $this->twig->render($template, $twig_vars);
} catch (\Twig_Error_Loader $e) {
$error_msg = $e->getMessage();
// Try html version of this template if initial template was NOT html
if ($ext != '.html' . TWIG_EXT) {
try {
$output = $this->twig->render($page->template() . '.html' . TWIG_EXT, $twig_vars);
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($error_msg, 400, $e);
}
} else {
throw new \RuntimeException($error_msg, 400, $e);
}
}
return $output;
}
/**
* Simple helper method to get the twig template if it has already been set, else return
* the one being passed in
Arguments
"post.html.twig"
array:18 [
"config" => Config {}
"uri" => Uri {}
"base_dir" => "/home/glenstrurv/glen/musique"
"base_url" => ""
"base_url_simple" => ""
"base_url_absolute" => "https://musique.glenstruillou.com"
"base_url_relative" => ""
"theme_dir" => "/home/glenstrurv/glen/musique/user/themes/masonry"
"theme_url" => "/user/themes/masonry"
"site" => array:8 [
"title" => "Musique et interactivité"
"author" => array:2 [
"name" => "Glen Struillou"
"email" => "glen.struillou@gmail.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Articles sur l interactivite dans le web autour de la musique"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => null
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
]
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<h1>Seaquence</h1>\n
<p><a href="http://seaquence.org/"><img src="/user/pages/01.home/01.article-10/seaquence.png" /></a></p>\n
<p>Seaquence est un synthétiseur qui propose une métaphore organique. Ce site permet de créer des créatures sous-marines musicales aux-quelles on ajoute des notes. Les créatures vont alors se promener sur un spectre sonore.</p>\n
<p><a href="http://seaquence.org/">Rendez-vous sur le site pour expérimenter !</a></p>
"""
]
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Service
/OutputServiceProvider.php
<?php
/**
* @package Grav.Common.Service
*
* @copyright Copyright (C) 2014 - 2016 RocketTheme, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Service;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
class OutputServiceProvider implements ServiceProviderInterface
{
public function register(Container $container) {
$container['output'] = function ($c) {
return $c['twig']->processSite($c['page']->templateFormat());
};
}
}
Arguments
/home
/glenstrurv
/glen
/musique
/vendor
/pimple
/pimple
/src
/Pimple
/Container.php
{
if (!isset($this->keys[$id])) {
throw new \InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
}
if (
isset($this->raw[$id])
|| !is_object($this->values[$id])
|| isset($this->protected[$this->values[$id]])
|| !method_exists($this->values[$id], '__invoke')
) {
return $this->values[$id];
}
if (isset($this->factories[$this->values[$id]])) {
return $this->values[$id]($this);
}
$raw = $this->values[$id];
$val = $this->values[$id] = $raw($this);
$this->raw[$id] = $raw;
$this->frozen[$id] = true;
return $val;
}
/**
* Checks if a parameter or an object is set.
*
* @param string $id The unique identifier for the parameter or object
*
* @return bool
*/
public function offsetExists($id)
{
return isset($this->keys[$id]);
}
/**
Arguments
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Processors
/RenderProcessor.php
<?php
/**
* @package Grav.Common.Processors
*
* @copyright Copyright (C) 2014 - 2016 RocketTheme, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/
namespace Grav\Common\Processors;
class RenderProcessor extends ProcessorBase implements ProcessorInterface {
public $id = 'render';
public $title = 'Render';
public function process() {
$this->container->output = $this->container['output'];
$this->container->fireEvent('onOutputGenerated');
}
}
Arguments
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Grav.php
$instance->offsetSet($key, $value);
}
}
return self::$instance;
}
/**
* Process a request
*/
public function process()
{
/** @var Debugger $debugger */
$debugger = $this['debugger'];
// process all processors (e.g. config, initialize, assets, ..., render)
foreach ($this->processors as $processor) {
$processor = $this[$processor];
$this->measureTime($processor->id, $processor->title, function () use ($processor) {
$processor->process();
});
}
// Set the header type
$this->header();
echo $this->output;
$debugger->render();
$this->fireEvent('onOutputRendered');
register_shutdown_function([$this, 'shutdown']);
}
/**
* Set the system locale based on the language and configuration
*/
public function setLocale()
{
// Initialize Locale if set and configured.
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Grav.php
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
// then to get it from the container all time.
$container->measureTime = function ($timerId, $timerTitle, $callback) use ($debugger) {
$debugger->startTimer($timerId, $timerTitle);
$callback();
$debugger->stopTimer($timerId);
};
$container->measureTime('_services', 'Services', function () use ($container) {
$container->registerServices($container);
});
return $container;
}
/**
* Register all services
* Services are defined in the diMap. They can either only the class
* of a Service Provider or a pair of serviceKey => serviceClass that
* gets directly mapped into the container.
*
* @return void
*/
protected function registerServices()
{
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Grav.php
ob_end_flush();
@ob_flush();
flush();
}
}
// Run any time consuming tasks.
$this->fireEvent('onShutdown');
}
/**
* Magic Catch All Function
* Used to call closures like measureTime on the instance.
* Source: http://stackoverflow.com/questions/419804/closures-as-class-members
*/
public function __call($method, $args)
{
$closure = $this->$method;
call_user_func_array($closure, $args);
}
/**
* Initialize and return a Grav instance
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
Arguments
"render"
"Render"
Closure {
class: "Grav\Common\Grav"
this: Grav { …}
use: {
$processor: RenderProcessor {}
}
file: "/home/glenstrurv/glen/musique/system/src/Grav/Common/Grav.php"
line: "120 to 122"
}
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Grav.php
ob_end_flush();
@ob_flush();
flush();
}
}
// Run any time consuming tasks.
$this->fireEvent('onShutdown');
}
/**
* Magic Catch All Function
* Used to call closures like measureTime on the instance.
* Source: http://stackoverflow.com/questions/419804/closures-as-class-members
*/
public function __call($method, $args)
{
$closure = $this->$method;
call_user_func_array($closure, $args);
}
/**
* Initialize and return a Grav instance
*
* @param array $values
*
* @return static
*/
protected static function load(array $values)
{
$container = new static($values);
$container['grav'] = $container;
$container['debugger'] = new Debugger();
$debugger = $container['debugger'];
// closure that measures time by wrapping a function into startTimer and stopTimer
// The debugger can be passed to the closure. Should be more performant
Arguments
Closure {
class: "Grav\Common\Grav"
parameters: {
$timerId: {}
$timerTitle: {}
$callback: {}
}
use: {
$debugger: Debugger {}
}
file: "/home/glenstrurv/glen/musique/system/src/Grav/Common/Grav.php"
line: "356 to 360"
}
array:3 [
0 => "render"
1 => "Render"
2 => Closure {
class: "Grav\Common\Grav"
this: Grav { …}
use: {
$processor: RenderProcessor {}
}
file: "/home/glenstrurv/glen/musique/system/src/Grav/Common/Grav.php"
line: "120 to 122"
}
]
/home
/glenstrurv
/glen
/musique
/system
/src
/Grav
/Common
/Grav.php
}
}
return self::$instance;
}
/**
* Process a request
*/
public function process()
{
/** @var Debugger $debugger */
$debugger = $this['debugger'];
// process all processors (e.g. config, initialize, assets, ..., render)
foreach ($this->processors as $processor) {
$processor = $this[$processor];
$this->measureTime($processor->id, $processor->title, function () use ($processor) {
$processor->process();
});
}
// Set the header type
$this->header();
echo $this->output;
$debugger->render();
$this->fireEvent('onOutputRendered');
register_shutdown_function([$this, 'shutdown']);
}
/**
* Set the system locale based on the language and configuration
*/
public function setLocale()
{
// Initialize Locale if set and configured.
if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
Arguments
"measureTime"
array:3 [
0 => "render"
1 => "Render"
2 => Closure {
class: "Grav\Common\Grav"
this: Grav { …}
use: {
$processor: RenderProcessor {}
}
file: "/home/glenstrurv/glen/musique/system/src/Grav/Common/Grav.php"
line: "120 to 122"
}
]
/home
/glenstrurv
/glen
/musique
/index.php
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding if mbstring loaded
if (!extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
mb_internal_encoding('UTF-8');
// Get the Grav instance
$grav = Grav::instance(
array(
'loader' => $loader
)
);
// Process the page
try {
$grav->process();
} catch (\Exception $e) {
$grav->fireEvent('onFatalException', new Event(['exception' => $e]));
throw $e;
}