Capítulo 17. Localização de Erros

Índice
Erros do Smarty/PHP

Erros do Smarty/PHP

O Smarty pode obter muitos erros, tais como: atributos de tags perdidos ou nomes de variáveis mal formadas. Se isto acontece, você verá um erro similar ao seguir:

Exemplo 17-1. Erros do Smarty

Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah'
 in /path/to/smarty/Smarty.class.php on line 1041
Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name
 in /path/to/smarty/Smarty.class.php on line 1041

O Smarty te mostra o nome do template, o número da linha e o erro. Depois disso, o erro consiste do número da linha da classe Smarty em que o erro ocorreu.

Há certos erros que o Smarty não consegue detectar, tais como uma tag de fechamento errada. Estes tipos de erro geralmente acabam gerando erros em tempo de processamento do interpretador de erros do PHP.

Exemplo 17-2. Erros de análise do PHP

Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75

Quando você encontra um erro de análise do PHP, o número da linha do erro corresponderá ao script PHP compilado, não o template em si. Normalmente você pode no template localizar o erro de sintaxe. Aqui algumas coisas para você procurar: falta de fechamento de tags para {if}{/if} ou {section}{/section}, ou erro de lógica dentro de uma tag {if}. Se você não conseguir encontrar o erro, talvez seja necessário abrir o arquivo PHP compilado e ir até o número da linha exibido, para saber onde se encontra o erro correspondente no template.