Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro no exercício de exemplo

Uma dúvida aqui: Seguindo o exemplo da aula, os dados do array não são retornados da view. Conteudo do array não retornadoSeriesController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SeriesController extends Controller
{
    public function index(Request $request): string
    {
        $series = [
            'Punisher',
            'Lost',
            'Grey\'s Anatomy'
        ];

        return view('listar-series', compact('series'));
    }
}

View listar-series.php:


<!doctype html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Series</title>
</head>
<body>
<h1>Séries</h1>

<ul>
    <?php foreach ($series as $serie): ?>
    <li><?php $serie; ?></li>
    <?php endforeach; ?>
</ul>
</body>
</html>
3 respostas

Descobri onde estava errando: no loop foreach do listar-series.php estava injetando o php da maneira errada (usava quando deveria usar ). Troquei isso e resolveu. Mas achei intrigante isso tambem. Qual seria a explicação?

solução!

Oii, não entendi o que você quis dizer com: "estava injetando o php da maneira errada (usava quando deveria usar )"

Pelo código que você compartilhou você esqueceu de dar um "echo" em:

<li><?php $serie; ?></li>

Deveria ficar assim:

<li><?php echo $serie; ?></li>

Uma outra forma de representar a expressão acima é usando o "" da seguinte maneira:

<li><?= $serie; ?></li>

Espero ter ajudado e bons estudos :)

Tentei dizer que "(usava <?php $serie; ?> quando deveria usar <?= $serie; ?>)" extamente como vc mostrou nos exemplos, mas por algum motivo os trechos onde mostrei o erro de sintaxe não apareceram na mensagem anterior. Vacilo meu aqui..rsss. De toda forma, valeu pela dica!