DataMapper p/ Code Igniter

Venho usando há algum tempo um ORM para Code Igniter em PHP chamado DataMapper .

Esse kra possui todos os recursos disponiveis nos ORM”s para as linguagens concorrentes do PHP, como o Linq da Microsoft, ou mesmo o todo poderoso Hibernate usado em Java, mas que tambem possui driver para .NET  conhecido como N-Hibernate.

Apesar de não possuir todos os recursos bacanas encontrados em linguagens tipadas, como o C# e o Java por exemplo, o PHP vem se tornando uma linguagem madura e com forte uso de orientação a objetos.

Voltando ao que interessa, vamos dar uma olhada na implementação do DataMapper com CI.

Basicamente, para começar a brincadeira, é necessário criar uma Model extendendo a classe datamapper, no meu caso, eu criei uma camada entre meus objetos e o ORM para me dar mais flexibilidade, além de poder criar alguns métodos genéricos, como Save(), delete(), fetchAll(),etc.

// CLASSE GENERICA PARA ABSTRAIR ALGUMAS FUNÇÕES

class GenericORM extends DataMapper
{
public function __construct($table)
{
$this->table = $table;

parent::DataMapper();
}
}

// CLASSE DA APLICACAO

class Charge extends GenericORM {

var $has_one = array(‘client’);
var $has_many = array(‘feature’,’people’);

/**
* Constructor
*
* Initialize DataMapper.
*/
public function __construct()
{
parent::__construct($this->table);
}
}

// USANDO O MODEL NA CONTROLLER

$c = new Charge();

$c->nome = ‘Primeiro Cargo’;

$c->save();

Pronto..é isso…simples assim 🙂

 

Deixe um comentário

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

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s