Procurei na internet como configurar a função dump()
na view do slim utilizando o twig e a documentação
informa para adicionar a extensão debug e setar true para o ambiente de desenvolvimento.
No entanto minha estrutura é essa:
# Arquivo composer.json
{
"require":{
"php":">=5.3.0",
"slim/slim":"2.*",
"slim/views":"0.1.*",
"twig/twig":"1.*"
},
}
<?php
// index.php
...
$twigView = new \Slim\Views\Twig();
$app = new \Slim\Slim(array(
'debug' => true,
'view' => $twigView,
'templates.path' => '../views/'
));
...
Como fazer essa bagaça funcionar ? Se você olhar a documentação do Slim-View
verá que é possível passar as configurações para a propriedade parserOptions
e carregar as extensões na propriedade parserExtensions
desta forma.
<?php
...
$twigView = new \Slim\Views\Twig();
$twigView->parserOptions = array(
'debug' => true
);
$twigView->parserExtensions = array(
new \Twig_Extension_Debug(),
);
$app = new \Slim\Slim(array(
'debug' => true,
'view' => $twigView,
'templates.path' => '../views/'
));
...
Fazendo isso irá habilitar a extensão dump nas views do twig ficando muito mais fácil debugar. Pronto! Agora é possível utilizar o dump na view do twig com no exemplo abaixo:
<?php
$app->get('/parametros', function () use ($app) {
$parametros = array(
array(
'id' => '1',
'nome' => 'Código dos Tipos...',
'parametro' => 'cod',
'valor' => '6165',
'descricao' => 'Informe os códigos dos tipos...'
),
array(
'id' => '2',
'nome' => 'Data Inicial',
'parametro' => 'data_inicial',
'valor' => '01/04/2015',
'descricao' => 'Informe a data inicial...'
),
array(
'id' => '4',
'nome' => 'Dias para exportação...',
'parametro' => 'dias_exportacao',
'valor' => '365',
'descricao' => 'Informe o número de dias para exportação...'
)
);
$app->render(
'parametros/index.twig',
array(
'parametros' => $parametros
)
);
});
...
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
{ {dump(parametros) } }
</div>
</div>
</div>
...