Boas Aluras...
Galera está aparecendo esse Bug no título, que parece ser um erro no código...
Index
<?php
/* ------------------------------------ Separando os códigos PHP do HTML --------------------------------------- */
/*
É boa prática de programação manter os códigos em arquivos separados, para facilitar a edição de códigos e também
evitar possíveis erros possam danificar a aplicação.
Nesse exercício isolamos os códigos PHP dos artigos em uma classe e encapsulamos esse código em uma função,
para acessar essa classe e a função criada é necessário serguir os procedimentos a seguir:
*/
// Fazer o link com o código feito na classe Artigos, utilixando o include.
include 'Artigo.php';
// Instanciar a classe Artigos, criando a classe e salvando ele em uma variável, nesse caso usamos $artigo
$artigo = new Artigos($mysql);
/* Referenciar a função exibirArtigos(), salvando a função dentro da variável $artigos,
que recebeu o valor da classe Artigos salvo na variável $artigo */
$artigos = $artigo->exibirArtigos();
/* ------------------------------------------------------------------------------------------------------------- */
// Instanciando a conexão, feita no arquivo conexão.php
require_once 'conexao.php';
?>
<!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>
Conexão
<?php
/* -------------------------------------- Trabalhando com Banco de Dados ------------------------------------------
Para conectar o projeto PHP com o banco de dados é necessário estabelecer uma conexão, fazer a referência no
projeto que tem uma conexão com um banco de dados. Essa conexão deve ser feita da seguinte forma:
*/
// 1 - Referênciar o banco de dados, salvando a conexão em uma variável, nesse caso usamos a variável $mysql
// A função mysqli() pede 4 parâmetros
// Ex. mysqli('nome do host', 'nome de usuário do banco de dados', 'senha de acesso', 'nome do banco de dados')
$mysql = new mysqli('localhost', 'root', '', 'blog');
// 2 - Determinar o charste do banco de dados, para isso iremos usar a função set_charset()
// A função set_charset pede 1 parametro
// Ex. set_charset('nome do charset que será utilizado no banco de dados')
$mysql->set_charset('utf8');
if ($mysql == false) {
echo 'Erro de conexão';
}
/* ------------------------------------------------------------------------------------------------------------- */
Artigo
<?php
/* A finalidade desse arquivo que abriga a classe Artigos é de escrever o código PHP pe irá automatizar
a donstrução e edição de posts na pagina do blog e fazer a conexão com banco de dados
*/
include 'conexao.php';
class Artigos
{
// Inicia a variável $mysql
private $mysql;
// Cria a função construtora
public function __construct(mysqli $mysql)
{
$this->mysql = $mysql;
}
public function exibirArtigos(): array
{
// Realiza consulta no banco de dados
$resultado = $this->mysql->query('SELECT id, titulo, conteudo FROM artigos');
// O método fetch_all retorna um array associativo com valor inteiro
$artigos = $resultado->fetch_all(MYSQLI_ASSOC);
return $artigos;
}
}