alterei o código para usar os atributos da classe:
Post.php
class Posts
{
private $id;
private $titulo;
private $descricao;
private $conteudo;
private $imagemDestaque;
private $status;
private $categoria;
private $data;
public function __construct( $titulo, $descricao, $conteudo, $imagemDestaque, $status, $categoria, $data = false, $id = false)
{
$this->titulo = $titulo;
$this->descricao = $descricao;
$this->conteudo = $conteudo;
$this->imagemDestaque = $imagemDestaque;
$this->status = $status;
$this->categoria = $categoria;
if($data){
$this->data = $data;
}
if($id){
$this->id = $id;
}
}
public function insertPost(){
$query = "INSERT INTO tb_posts (titulo, descricao, conteudo, imagemdestaque, status, categoria)
VALUES (:titulo, :descricao, :conteudo, :imagemDestaque, :status, :categoria)";
$connect = Connection::takeConnection();
$result = $connect->prepare($query);
$result->bindValue(':titulo', $this->titulo);
$result->bindValue(':descricao', $this->descricao);
$result->bindValue(':conteudo', $this->conteudo);
$result->bindValue(':imagemDestaque', $this->imagemDestaque);
$result->bindValue(':status', $this->status);
$result->bindValue(':categoria', $this->categoria);
$result->execute();
}
}
e new-post.php
<?php
require 'db/config.php';
require 'src/Connection.php';
require 'src/Posts.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
$titulo = $_POST['titulo'];
$descricao = $_POST['descricao'];
$conteudo = $_POST['conteudo'];
$imagemDestaque = $_POST['imagemDestaque'];
$status = $_POST['status'];
$categoria = $_POST['categoria'];
$publicar = new Posts($titulo, $descricao, $conteudo, $imagemDestaque, $status, $categoria);
$publicar->insertPost();
}
pode ser assim?