Olá galera,
O PHP 5.5 trouxe algumas novidades das quais podemos destacar o suporte ao generators. Com isso, o yield passou a se tornar uma palavra reservada e gerou um conflito com o Laravel 3.2.
Quem quiser saber mais informações sobre o yield, pode clicar aqui.
Voltando a correção do conflito, encontrei-a no próprio GitHub do Laravel. Apesar de estar claro quais alterações devem ser feitas, vou replicá-las aqui no blog por segurança.
O trabalho consiste em adicionar "_" (underline ou underscore) antes do yield.
OBS: Conforme já citei em outros posts, recomendo que qualquer alteração seja devidamente comentada e documentada para evitar problemas futuros.
Arquivo: laravel/blade.php linha 364.
* The Blade @yield statement is a shortcut to the Section::_yield method.
Arquivo: laravel/blade.php linha 373.
return preg_replace($pattern, '$1<?php echo \\Laravel\\Section::_yield$2; ?>', $value);
Arquivo: laravel/documentation/views/templating.md linha 47.
<?php echo Section::_yield('scripts'); ?>
Arquivo: laravel/helpers.php linha 563.
function _yield($section)
Arquivo: laravel/helpers.php linha 565.
return Section::_yield($section);
Arquivo: laravel/section.php linha 72.
return static::_yield(static::stop());
Arquivo: laravel/section.php linha 131.
public static function _yield($section)
Arquivo: laravel/tests/cases/blade.test.php linha 81.
$this->assertEquals("<?php echo \\Laravel\\Section::_yield('something'); ?>", Blade::compile_string($blade));
Espero ter ajudado as pessoas que encontraram o mesmo problema.
Um abraço e até próxima.
Nenhum comentário:
Postar um comentário