Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite, amigos
Estive aqui a brincar com POO e com PDO e fiz uma classe para inserção de produtos em uma tabela do banco usando o PDO
Gostaria que vocês dessem uma olhada e me dissessem onde posso melhorar e o que deveria mudar, sou iniciante em OO e nunca usei o PDO, está é a primeira vez, por isso gostaria que me mostrassem se fiz algo errado, e me indicassem as melhores práticas, segue a classe:
Product.Class.php
<?php
class Product {
//$sku código produto
private $sku;
//$title titulo do produto
private $title;
//Construtor
//function __construct();
/**
* setSku
* define a propriedade sku
*
* return $this->sku
**/
public function setSku($str) {
if(empty($str)){
$msg = 'O código Sku não pode ser vazio';
return $msg;
} else {
$this->sku = $str;
}
}
/**
* getSku
* retorna o valor de sku
*
* @var $sku
**/
public function getSku() {
return $this->sku;
}
/**
* setTitle
* define a propriedade title
*
* return $this->title
**/
public function setTitle($str) {
if(empty($str)){
$msg = 'O title não pode ser vazio';
return $msg;
} else {
$this->title = $str;
}
}
/**
* getTitle
* retorna o valor de title
*
* @var $sku
**/
public function getTitle() {
return $this->title;
}
public function insertProduct() {
if((empty($this->title)) && (empty($this->sku))){
$msg = 'Os dados estão vazios';
return $msg;
} else {
try{
$dbh = new PDO("mysql:host=localhost;dbname=teste", "root", "");
} catch(PDOException $exception) {
echo "Connection error: " . $exception->getMessage();
}
$query = "INSERT INTO products VALUES ('', :sku, :title)";
$stmt = $dbh->prepare($query);
$stmt->bindParam(':sku', $this->sku, PDO::PARAM_STR);
$stmt->bindParam(':title', $this->title, PDO::PARAM_STR);
$stmt->execute();
}
}
}Carregando comentários...