phppersistence Wiki
Status: Abandoned
Brought to you by:
luiskaufmann
A forma de uso é bem simples, a API resume-se em um objeto com quatro métodos públicos:
class EntityManager {
public function commit($entity){
// implementacao
}
public function update($entity){
// implementacao
}
public function delete($entity){
// implementacao
}
public function query($sql, $entity){
// implementacao
}
}
estes métodos realizam as quatro operações básicas do banco de dados:
| Método | Acão |
|---|---|
| commit() | Realiza o equivalente ao INSERT. |
| update() | Atualiza dados do objeto referido no banco, utiliza o @Id como discriminação. |
| delete() | Remove da tabela referente todos os registros que possuírem o @Id igual. |
| query() | Função que executa um SELECT e dispõe o resultado em um array de objetos. |
ATENÇÃO - É extremamente recomendado a projeção de todas as colunas, o descumprimento disso implica em objetos "quebrados".
Exemplo de uso:
/** @Table(name='usuario') */
class usuario{
/** @Id(name='id') */
private $id;
/** @Collumn(name='login',type='A',notnull='true') */
private $login;
/** @Collumn(name='senha',type='A',notnull='true') */
private $senha;
/** @Collumn(name='idade',type='N',notnull='true') */
private $idade;
public function getId() {
return $this->id;
}
public function setId($id) {
$this->id = $id;
}
public function getLogin() {
return $this->login;
}
public function setLogin($login) {
$this->login = $login;
}
public function getSenha() {
return $this->senha;
}
public function setSenha($senha) {
$this->senha = $senha;
}
public function getIdade() {
return $this->idade;
}
public function setIdade($idade) {
$this->idade = $idade;
}
}
class dao{
public function checkLogin(){
$em = new EntityManager();
$user = $_GET['login'];
$pass = $_GET['senha'];
$em->query("SELECT * FROM usuario WHERE login = '$user' AND senha = md5('$pass');", "usuario");
$u = new Usuario();
$u->setIdade(40);
$u->setLogin('~le usuario~');
$u->setSenha('123');
$em->commit($u);
}
}