Boa noite a todos,
estou com esse problema: Fatal error: Uncaught ArgumentCountError: Too few arguments to function Artigo::construct(), 0 passed in C:\xampp\htdocs\blog\index.php on line 6 and exactly 1 expected in C:\xampp\htdocs\blog\artigo.php:5 Stack trace: #0 C:\xampp\htdocs\blog\index.php(6): Artigo->construct() #1 {main} thrown in C:\xampp\htdocs\blog\artigo.php on line 5
já revisei todo o código e não sei qual lugar posso está errando. podem me ajudar?
index.php
<?php
require 'conexao.php';
include 'artigo.php';
$artigo = new Artigo();
$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) : ?>
<h2>
<a href="<?php echo $artigo['link'];?>">
<?php echo $artigo['titulo']; ?>
</a>
</h2>
<p>
<?php echo $artigo['conteudo']; ?>
</p>
<?php endforeach; ?>
</div>
</body>
</html>
conexao.php
<?php
$mysql = new mysqli('localhost','root','','blog');
$mysql->set_charset('utf8');
if($mysql == FALSE)
{
echo 'erro ao conectar';
}
?>
artigo.php
<?php
class Artigo
{
private $mysql;
public function __construct(mysqli $mysql)
{
$this->mysql = $mysql;
}
public function exibirTodos(): array
{
$resultado = $this->mysql->query('SELECT * FROM artigos');
$artigos = $resultado->fetch_all(MYSQLI_ASSOC);
return $artigos;
}
};
?>