"A persistência de dados, na computação, refere-se ao armazenamento não-volátil de dados, por exemplo, o armazenamento em um dispositivo físico como um disco rígido. Quando se grava um arquivo no disco, por exemplo, o dado está sendo "eternizado", ou seja, deixa de ficar volátil na memória RAM e passa a ser escrito num dispositivo que armazena a informação de modo que ela não desapareça facilmente."
Manter extensas e repetitivas queries SQL dentro do código é coisa do passado. Códigos como este abaixo não são mais necessários devido a grande quantidade de bibliotecas que resolvem este tipo de problema.
$query = 'SELECT user_id FROM users WHERE user_id = 1';
$result = mysql_query($query);
$array = mysql_fetch_assoc($result);
Frameworks ORM como Doctrine e Propel são soluções conhecidas por quem trabalha com PHP. Porém, existem ferramentas mais simples e que se comportam bem em projetos menores. Duas delas são o NotORM e o RedBean.
O RedBeam é rápido e de fácil configuração. Abaixo alguns exemplos de código:
Configurando (Setup):
require('rb.php');
R::setup('mysql:host=localhost;
dbname=mydatabase','user','password');
Salvando dados no banco:
Carregando registro por id (find by id):
O NotORM é uma ferramenta mais antiga e também uma boa solução, temos um exemplo de como configurá-lo e recuperar dados:
Persistindo dados com o NotORM:
Estes são apenas dois exemplos de muitas de bibliotecas que existem para facilitar a implementação da camada de persistência.
$book = R::dispense('book');
$book->title = 'Gifted Programmers';
$book->author = 'Charles Xavier';
$id = R::store($book);
Carregando registro por id (find by id):
$book = R::load('book', $id);
O NotORM é uma ferramenta mais antiga e também uma boa solução, temos um exemplo de como configurá-lo e recuperar dados:
include "NotORM.php";
$pdo = new PDO("mysql:dbname=software");
$db = new NotORM($pdo);
foreach ($db->application() as $application) { // get all applications
echo "$application[title]\n"; // print application title
}
Persistindo dados com o NotORM:
$array = array(
"title" => "NotORM",
"author_id" => null,
"created" => new NotORM_Literal("NOW()"),
);
$row = $db->$tableName()->insert($array);
Estes são apenas dois exemplos de muitas de bibliotecas que existem para facilitar a implementação da camada de persistência.
Nenhum comentário:
Postar um comentário