Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou aprendendo PHP OO + PDO + MVC.
Classe conexão:
<?php
class Conexao {
public function conectar() {
try {
$conexao = new PDO("mysql:host=localhost;dbname=teste", "root", "");
$conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage();
}
return $conexao;
}
}
Porém quando vou instanciar na classe a seguir, eu preciso colocar o método de conectar para que o preparedStatement seja reconhecido.
include_once './Conexao.class.php';
class UsuarioDAO {
public function inserir($nome, $cpf){
$j = new Conexao;
$c = $j->conectar();
$sql = $c->prepare("insert into usuarios (nome, cpf) values (:nome, :cpf)");
$sql->bindParam("nome", $nome, PDO::PARAM_STR);
$sql->bindParam("cpf", $cpf, PDO::PARAM_STR);
$sql->execute();
}
}
Existe alguma forma/boa prática de já deixar instanciado para todos os métodos que eu tiver dentro de uma classe? Como podem ver, se eu tivesse um método de update/delete/read, eu teria que realizar a mesma coisa, o "$c = $j->conectar();" para que funcione.Carregando comentários...