1
resposta

Erro na execução do BLOG

Estou tendo a seguinte mensagem de erro.

Parse error: syntax error, unexpected '(', expecting variable (T_VARIABLE) in C:\xampp\htdocs\blog\Artigo.php on line 11

Não identifiquei o erro no código que possa estar causando isso. Poderia me ajudar por favor. Abaixo o meu código.

` Código config.php

<?php
$mysql = new mysqli ('localhost', 'root', '', 'blog');
$mysql -> set_charset('utf8');

if ($mysql == FALSE) {
    echo "Erro na conexão";
}
?>

Código Index.php

<?php 

require 'config.php';

include 'Artigo.php';
$artigo = new Artigo($mysql);
$artigos = $artigo -> exibirTodos();

?>

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <title>Meu Blog</title>


    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
    <div id="container">
        <h1>Meu Blog</h1>

        <?php foreach($artigos as $artigo) : ?>

        <a href="<?php echo $artigo['link'] ?>">
        <h2>

                <?php echo $artigo['titulo'] ?>
            </a>
        </h2>
        <p>
                <?php echo $artigo['conteudo'] ?>
        </p>

    <?php endforeach ?>

    </div>
</body>

</html>

código artigo.php

<?php
class Artigo
{
    private $mysql;
    public function__construct (mysqli $mysql)
    {
            $this-> mysql = $mysql;
            return $this;
    }
    public function exibirTodos(): array
    {
        $resultado = $this-> mysql -> query('Select id, titulo, conteudo from artigos');
        $artigos = $resultado-> fetch_all(MYSQLI_ASSOC);
        return $artigos;
    }
}
?>

Atenciosamente

Evandro Duarte

`

1 resposta

Olá Evandro,

Acredito que faltou apenas um espaço em function__construct dentro de artigo.php, o correto seria function __construct

Uma dica extra é que recomenda-se não colocar o ?> no final de um arquivo caso ela tenha apenas código em php, como no caso de artigo.php

Espero ter ajudado, qualquer dúvida é só falar!