Могу ли я отображать значения параметров ($ _POST, $_GET, $_SESSION, $_SESSION) с использованием компонента механизма шаблона ветки

Я пробовал сделать вот так:

{{ $_GET['page'] }}

но это все еще не сработало.

Ответ 1

Единственными переменными, доступными в Twig, являются:

Если вы хотите иметь переменную page, добавьте "page" => $_GET["page"] ко второму параметру render.

Если вы хотите иметь полный доступ к суперглобальному $_GET, добавьте "GET" => $_GET ко второму параметру render.

Ответ 2

Для переменных $_POST используйте это:

{{ app.request.parameter.get("page") }}

Для переменных $_GET используйте это:

{{ app.request.query.get("page") }}

Для переменных $_COOKIE используйте это:

{{ app.request.cookies.get("page") }}

Для переменных $_SESSION используйте это:

{{ app.request.session.get("page") }}

Ответ 3

Вы не можете получить доступ к необработанным значениям PHP в TWIG, чтобы вы привязывали все, что вам нужно, к объекту twig.

Вот пример присоединения $_GET, $_POST и $_SESSION к веточке.

//initialise your twig object
$loader = new \Twig_Loader_Filesystem(__PATH_TO_TEMPLATES_FOLDER__');
$this->twig = new \Twig_Environment($loader);

$this->twig->addGlobal('_session', $_SESSION);
$this->twig->addGlobal('_post', $_POST);
$this->twig->addGlobal('_get', $_GET);

Теперь предположим, что у вас есть значение username, которое хранится в каждом из указанных выше ($_GET, $_POST и $_SESSION) Теперь вы можете получить доступ ко всем этим в своем шаблоне следующим образом.

 {{ _session.username }}
 {{ _post.username }}
 {{ _get.username }}

Надеюсь, что это поможет