Valeu Renato,
Eu vou preparar um doc legal sobre isso mas testa aí:
Cria, por exemplo, um arquivo Usuario.php no modelo com os mapeamentos do Doctrine 2:
<?php
namespace modelo;
/**
* @Entity
*/
class Usuario {
/**
* @Id @GeneratedValue
* @Column(type="integer")
*/
public $id;
/**
* @Column(type="string", nullable=true)
*/
public $nome;
/**
* @Column(type="string", nullable=false, unique=true)
*/
public $email;
/**
* @Column(type="string", length=32, nullable=false)
*/
public $senha;
}
Adiciona isso em controlador/Home.php (ou se quiser organizar melhor, adiciona num DAO lá em modelo/dados):
/**
* @var \PDO
*/
protected $pdo;
/**
* @var \lib\DoctrinePlugin
*/
protected $doc;
/**
* @var Doctrine\ORM\EntityManager
*/
protected $em;
public function __construct() {
$this->pdo = \lib\PDOPlugin::getInstance()->getPdo(); // Ele vai conectar de acordo com as configurações do arquivo ini
$this->doc = \lib\DoctrinePlugin::getInstance($this->pdo);
$this->em = $this->doc->em;
}
public function gerarEsquema() {
$this->doc->gerarEsquema(array(
'\modelo\Usuario',
));
}
public function novoUsuario() {
$u = new \modelo\Usuario();
$u->email = $_POST['email'];
$u->nome = $_POST['nome'];
$u->senha = $_POST['senha'];
$this->em->persist($u);
$this->em->flush();
}
A URL localhost/exemplofacil/gerarEsquema vai chamar um método utilitário que eu criei no plugin de integração com o Doctrine que vai buscar o SchemaTool do Doctrine, registrar os ClassMetadatas e gerar a tabela no banco. Se quiser mais é só adicionar as classes de toda a tua modelagem que ele gera todas as tabelas e seus relacionamentos.
A URL localhost/exemplofacil/novoUsuario vai criar um usuário novo. Tô aqui só simulando que você vai chamar ela via post a partir de uma tela de cadastro de usuário. Testa marretando valor primeiro pra ver se tá tudo ok. O EntityManager vai mudar o status do objeto pra persistente e depois executar e comitar o insert quando der flush().
Qualquer bronca me diz.
Abraço