Classe para conexão com banco de dados e Inserção de Clientes
<?php
// autoload
use Seu\Namespace\Cliente;
use Seu\Namespace\Connection;
use Seu\Namespace\ClientePersister;
$config = include 'config.php';
$conn = new Connection($config);
$cp = new ClientePersister($conn->getPDO());
$cliente1 = new Cliente();
$cliente1->setNome("Fulano")...etc...;
$cliente2 = new Cliente();
$clinete2->setNome("Beltrano")...etc...;
$cp->persist($cliente1);
$cp->persist($cliente2);
$cp->flush();
<?php
return array(
'driver' => 'mysql',
'host' => 'localhost',
'dbname' => 'nome_do_banco',
'user' => 'root',
'pass' => 'root'
);
<?php
namespace Seu\Namespace;
class Connection
{
/**
* @var \PDO
*/
protected $pdo;
public function __construct(array $config = array())
{
try {
$this->pdo = new \PDO(
"{$config['driver']}:host={$config['host']};dbname={$config['dbname']}",
$config['user'],
$config['pass'],
array(
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
)
);
} catch(\PDOException $ex) {
die('Erro ao conectar: ' . $ex->getMessage());
}
}
/**
* @return \PDO Objeto PDO
*/
public function getPDO()
{
return $this->pdo;
}
}
<?php
namespace Seu\Namespace\;
use Seu\Namespace\Cliente;
class ClientePersister
{
/**
* @var \PDO
*/
protected $pdo;
protected $clientes = array();
public function __construct(\PDO $pdo)
{
$this->pdo = $pdo;
}
public function persist(Cliente $cliente)
{
$this->clientes[] = $cliente;
}
public function flush()
{
foreach ($this->clientes as $cliente) {
// sua lógica para gravar os clientes no banco de dados
$this->pdo->prepare("INSERT ...etc...");
// ...etc...
}
}
}