Início > Banco de Dados, PHP > Outlet ORM – PHP – Parte 1, Configurando

Outlet ORM – PHP – Parte 1, Configurando

Boa noite,

Estou a falar do Outlet-ORM, acesse.

Outlet is an open source object-to-relational mapping tool for PHP.

Outlet ORM - Logo
Outlet ORM – Logo

New BSD License.

Ele difere de outras soluções ORM para PHP, já que prevê a persistência transparente e discreto, ele utiliza uma abordagem semelhante à hibernação em Java, utilizando objetos proxy.

Depois de utilizar em alguns projetos, resolvi criar este Post para mostrar como ele funciona, um mini tutorial.

1 passo – CONFIGURAÇÃO, Crie um arquivo com o seguinte conteúdo:

return array(
‘connection’ => array(
‘dsn’ => ‘mysql:host=myserver.com;dbname=mydb’,
‘username’ => ‘user’,
‘password’ => ‘pass’,
‘dialect’ => ‘mysql’
),
‘classes’ => array(
‘Categoria’ => array(
‘table’ => ‘categoria’,

‘props’ => array(

‘ID’ => array(‘id’, ‘int’, array(‘pk’=>true, ‘autoIncrement’=>true)),

‘Nome’ => array(‘nome’, ‘varchar’)

),

‘associations’ => array(
array(‘one-to-many’, ‘Produto’, array(‘key’=>’ID’))

),’useGettersAndSetters’ => true

),
‘Produto’ => array(
‘table’ => ‘produto’,

‘props’ => array(

‘ID’ => array(‘id’, ‘int’, array(‘pk’=>true, ‘autoIncrement’=>true)),

‘Nome’ => array(‘nome’, ‘varchar’)

),

‘associations’ => array(

array(‘many-to-one’, ‘Categoria’, array(‘key’=>’ID’))

),’useGettersAndSetters’ => true

)
)
);

Neste array a chave connection define a conexão com o banco de dados, o Outlet aceita, Mysql, Postgres, SQLite e SQL Server.
Está configuração permite você definir que a classe Categoria e Produto represente as tabelas no banco de dados.o parametro ‘useGettersAndSetters’ => true, indica que os campos serão retornados utilizando metodos get/set

2 – Criando as Classes Categoria e Produto
class Categoria{
private $ID;
private $Nome;
private $Produtos;
public function getId(){ return $this->ID; }
public function setId( $ID ){ $this->ID = $ID; }
public funciton getNome(){     return $this->Nome; }
public function setNome( $nome ) { $this->Nome = $nome; }

public function setProdutos( $produtos ){ $this->Produtos = $produtos; }
public function getProdutos( ){ return $this->Produtos; }
}

E para Produtos

class Produto{
private $ID;
private $Nome;
private $Categoria;
/**
* @return the $ID
*/
public function getID() {
return $this->ID;
}
/**
* @return the $Nome
*/
public function getNome() {
return $this->Nome;
}
/**
* @return the $Categoria
*/
public function getCategoria() {
return $this->Categoria;
}
/**
* @param $ID the $ID to set
*/
public function setID($ID) {
$this->ID = $ID;
}
/**
* @param $Nome the $Nome to set
*/
public function setNome($Nome) {
$this->Nome = $Nome;
}
/**
* @param $Categoria the $Categoria to set
*/
public function setCategoria($Categoria) {
$this->Categoria = $Categoria;
}
}

Agora é só iniciar o Outlet

require_once( “arquivo_com_objetos.php” ); // arquivo com as classes que foi criado com as definições das tabelas
Outlet::init(include ‘outlet-configuracao.php’); // arquivo de configuracao que voce criou
$outlet = Outlet::getInstance();
$outlet->createProxies();

PRÓXIMO POST, VOU MOSTRAR COMO INTERAGIR COM OS OBJETOS, FAZER UM SELECT, INSERT, UPDATE E DELETE.

CategoriasBanco de Dados, PHP Tags:, , ,
  1. Nenhum comentário ainda.
  1. Nenhum trackbacks ainda.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.