Tecnologias web e linguagens de programação web: html, css, php, javascript, ajax, java, jsp, asp...

sexta-feira, 18 de outubro de 2013

Usando a classe idiorm.php em aplicacoes php e base de dados MySQL

Para começar vamos falar um pouco de IDIORM.

idiorm - é uma classe php que permite trabalhar com PDO (php data object) que é uma interface que permite trabalhar com base de dados, cuja finalidade é abstrair a conexão e interações com os bancos, ou seja, independente do banco de dados que estiver sendo utilizado os métodos executados serão os mesmos, mas isso não significa que seu sistema será portável entre diversos bancos de dados, por mais que o uso do PDO facilite a portabilidade, esta interface significa apenas que você se comunicará com qualquer banco de dados através de um determinado conjunto de métodos e classes.

Ok, resumindo idiorm é uma classe que facilita o uso de base de dados em aplicações php, provendo varias classes que auxiliam na construção de models e DAOs para a aplicação.

Para trabalhar com idiorm.php a primeira coisa a fazer e baixar a classe aqui. 
Copie o arquivo idiorm.php para a tua pasta de projecto e a seguir crie um ficheiro util.php que ira armazenar funcoes uteis a tua aplicacao como a string de conexão com a base de dados, adicione o seguinte codigo ao ficheiro util.

    require_once("idiorm.php");

    ORM::configure('mysql:host=localhost;dbname=exemplo');
    ORM::configure('username', 'root');
    ORM::configure('password', 'root');

    $db = ORM::get_db();

Como pode ver, na primeira linha invocamos o ficheiro idiorm.php, a seguir usamos a função configure do idiorm para configurar a conexão com base de dados mysql (se for usar outra base de dados, utilize a conexão apropriada). 
Nota: para usar uma função da classe idiorm usamos a conotação ORM::funcao_pretendida.

A titulo de exemplo vamos criar base de dados exemplo com a tabela utilizador (id, username, password, email).  A nossa tarefa sera criar um script para listar e adicionar nova linha a  essa tabela e o respectivo formulário para entrada de dados .

A seguir vamos criar um ficheiro php  (user.php) e adicionar o seguinte código (pus o código php e o form num único ficheiro mas sinta-se livre para separar):

<?php
include_once 'idiorm.php';
include_once 'util.php';
if (!empty($_POST)) {
       
        // Create a new contact object
        $user = ORM::for_table('utilizador')->create();

        // SHOULD BE MORE ERROR CHECKING HERE!

        // Set the properties of the object
        $user->username = $_POST['username'];
        $user->password = $_POST['password'];
        $user->email = $_POST['email'];

        // Save the object to the database
        $user->save();
       
        // Redirect to self.
        header('Location: ' . basename(__FILE__));
        exit;
    }
    $user_list = ORM::for_table('utilizador')->find_many();


?>


<html>
<head>
<title>Usando idiorm com php e mysql</title>
</head>
<body>
  <h2>Usando idiorm com php e mysql</h2>
  <p>
     <table style="background-color:#959595">
          <tr>
                    <th>Username</th>
                    <th>Password</th>
          </tr>
            <?php foreach ($user_list as $user): ?>
                <tr>
                    <td style="border:1px solid #ffffff"><?php echo $user->username ?></td>
                    <td style="border:1px solid #ffffff"><?php echo $user->email ?></td>
                </tr>
            <?php endforeach; ?>
     </table>
  </p>
  <p>
     <form method="post" action="">
    
       <p>Email:<br/><input type="text" name="email" size="40"/></p>
       <p>Username:<br/><input type="text" name="username" size="40"/></p>
       <p>Password:<br/><input type="password" name="password" size="40"/></p>
       <input type="submit" name="" value="Gravar"/>
    </form>
  </p>
</body>
</html>



irei explicar apenas a parte do codigo php:
As primeiras duas linhas são chamadas ao ficheiro util.php e idiorm.php. 
 
if (!empty($_POST)) - verifica se o formulário contem dados
$user = ORM::for_table('utilizador')->create(); - cria novo utilizador usando a funcao create do idiorm  e indicando a tabela afectada (para indicar uma tabela usamos a funcao for_table("tabela")).

$user->username = $_POST['username'];
 $user->password = $_POST['password'];
 $user->email = $_POST['email'];  - atribui os valores dos posts aos campos da base de dados.


$user->save(); - grava na base de dados o utilizador criado.

header('Location: ' . basename(__FILE__));  - redirecciona para a mesma pagina

$user_list = ORM::for_table('utilizador')->find_many(); - o método find_many retorna a lista de todas as linhas da tabela indicada em for_table, equivalente a query select * from utilizador.

Para mais detalhes no uso do idiorm visite o site idiorm
Aguarda por mais publicacoes sobre idorm num futuro breve.

faca download do projecto completo aqui 
 
Compartilhar:
← Mensagem mais recente Mensagem antiga → Página inicial

0 comentários:

Enviar um comentário

Publicação em destaque

Adicionar Fontes Externas ao Site Usando CSS

Hoje vamos aprender uma coisa bastante simples, mas importante. Certamente já deve ter se deparado com as limitações de fontes ao criar ...

Seguidores

Total de visualizações

Com tecnologia do Blogger.

Artigos Populares

Newsletter

Subscribe Our Newsletter

Enter your email address below to subscribe to our newsletter.