2017-03-15 2 views
0

나는이 질문을 며칠 전 물었고 아마도 나 자신을 정말로 잘 설명하지 못한다.나뭇 가지에 변수를 보내는 방법

Silex2를 사용하려고하므로 문서의 코드를 복사하여 첫 페이지를 만듭니다.

index.php를

require_once __DIR__.'/../vendor/autoload.php'; 

$app = require __DIR__.'/../src/app.php'; 
require __DIR__.'/../config/dev.php'; 
require __DIR__.'/../src/controllers.php'; 

$pg_cnt['temp'] = 'Welcome !'; 
$pg_cnt['name'] = 'tutu'; 

$app->get('/', function() use ($app, $pg_cnt) { 
    return $app['twig']->render('index.html.twig', array(
     'pg_cnt' => $pg_cnt, 
    )); 
}); 

$app->get('/home', function() use ($app, $pg_cnt) { 
    return $app['twig']->render('index.html.twig', array(
     'pg_cnt' => $pg_cnt, 
    )); 
}); 
$app->run(); 

나는, 경로 //home에 대해 동일한 코드를 사용

{% extends "arche/layout.html.twig" %} 

{% block content %} 
<br /><br /><br /><br /><br /> 

{{ global.request }} 
    <h1>{{ pg_cnt.temp }}</h1> 
    <h1>{{ pg_cnt.name|default('default titi') }}</h1> 


<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
{% endblock %} 

index.html.twig하지만 내가이이 일 /에 대한 오류 :

index.html.twig의 Twig_Error_Runtime 라인 7 : 변수 "pg_cnt"가 이 없습니다.

/home은 모두 작동합니다.

여기에 무슨 일이 일어나고 있는지 이해할 수 없습니까? 내가 사용하고있어 silex-skeleton

답변

0
귀하의 코드는 아마 그대로 일까지 그것을 전환을 시도해야

:

<?php 
    require_once __DIR__.'/../vendor/autoload.php'; 

    $app = require __DIR__.'/../src/app.php'; 
    require __DIR__.'/../config/dev.php'; 
    require __DIR__.'/../src/controllers.php'; 

    $pg_cnt['temp'] = 'Welcome !'; 
    $pg_cnt['name'] = 'tutu'; 

    $func = function() use ($app, $pg_cnt) { 
     return $app['twig']->render('index.html.twig', array(
      'pg_cnt' => $pg_cnt, 
     )); 
    }; 

    $app->get('/', $func); 
    $app->get('/home', $func); 

    $app->run(); 
+0

내가, 감사합니다 :-(변화가 어쨌든 :-) 난 시도 여전히 검색 이유 ... – PaddyF

+0

@PaddyF 이상하게도 코드가 작동해야합니다. 작은 [sandbox] (http://darkbee.be/web/stack.php/) – DarkBee

+0

나는 당신의 샌드 박스를 시험해 본다. 나는 코드에서 변경해야 할 것이 무엇인지 알지 못한다는 점을 제외하고는 그렇게 할 수 있습니까? 나뭇 가지 선언을 변경하려고합니다 (골격의 모든 줄을 주석 처리하고 같은 위치에 네 줄을 추가하십시오). Chain.php 줄의 Twig_Error_Loader가 86 : 템플릿 "index.html.twig"가 정의되어 있지 않습니다. 분명히하려면 경로는/home은 여전히 ​​완벽하게 작동합니다 – PaddyF

관련 문제