PHP 5 + Classes + Banco de dados

  • Autor do post:
  • Categoria do post:PHP DEV

PHP 5 + Classes + Banco de dados

PARTE I

Olá,
Resolvi escrever algo sobre classes, objetos e banco de dados com PHP 5.

A idéia geral é mostrar o seguinte:

* Classes e Métodos  simples com PHP5.
* Classes e Metódos para transações com banco de dados PostgreSql.
* Fábrica de objetos, veremos como tornar mais simples e rápido o uso das classes.
* Classes genéricas, vamos utilizar uma mesma classe para transações com bancos e tabelas distintas.

Será um desafio bacana e acredito ser muito útil para quem ainda não sabe oop ao menos o básico, claro.

Para isso precisamos começar com o básico sobre as classes, criaremos métodos bem simples no intuito de fazer todos entenderem o conceito antes de escrevermos algo realmente aplicável.
Então iremos separar as coisas e na medida em que vão compreendendo vamos avançando ok …

Existe um Post sobre o básico de classes com PHP5, leiam aqui antes de prosseguir.

Supondo que você já leu o post  indicado vamos criar uma classe simples.

Vamos para a PARTE I

A classe Usuario, arquivo nomeado como usuario.class.php  dentro do diretório classes/ .

< ?
class Usuario
{
# declarando  variavel publica nome
public $nome;

# declarando variavel protected senha
protected $senha;

# construtor da classe  [vazio]
public function __construct(){}

# Metodo seta nome de usuario
function setNome($nome)
{
$this->nome = $nome;
}

# Metodo retorna o nome de usuario
public function getNome()
{
return $this->nome;
}

# Metodo que seta a senha de usuario
public function setSenha($senha)
{
# setando a variavel senha
$this->senha = md5($senha);
}

# Metodo retorna a senha criptografada com MD5
public function getSenha()
{
return $this->senha;
}
}
?>

Iremos guardar todas as classes que criarmos no diretório classes.

Agora que temos a classe Usuario vamos ver como instanciar os objetos da classe e chamar seus métodos.
Escrevemos agora uma arquivo qualquer e incluiremos a classe Usuario nele.
Obs: Para os arquivos que irão instanciar os objetos você poderá dar o nome que desejar mas respeite os nomes dados as classes para não termos problemas.

Chamarei este arquivo de index.php (dê o nome que desejar).

< ?
# Incluindo a classe usuario
include 'classes/usuario.class.php';

# Instanciando o objeto usuario
$usuario = new Usuario();

# Setando o nome [parametro nome]
$usuario->setNome("Rafael Clares");

# Setando a senha [parametro senha]
$usuario->setSenha("123senha");

# Imprimindo o nome
print $usuario->getNome();

# Imprimindo a senha
print $usuario->getSenha();

# Destruindo os objetos
unset($usuario);
?>

Agora basta testar em seu navegador
http://localhost/pastadoprojeto/index.php

Na PARTE II vamos implementar os médotos de acesso ao Banco de dados, leiam o post sobre a classe conexão em:
http://clares.com.br/2008/07/09/php-postgresql-conexao-com-banco-de-dados/

Iremos utiliza-la, porém não devo explicar novamente como ela funciona, claro, apenas se surgirem dúvidas.
Por enquanto é isso, estou ansioso para passarmos para próxima etapa.

Abraços.
Rafael Clares

Este post tem 14 comentários

  1. Rafael Clares

    Pow galera, ninguém se interessa? Queria tanto continuar isso kas kas kas…

  2. suissa

    primeiro que sua senha ja deve ser criptografada antes de ser inserida no banco.

    1. Rafael Clares

      Suissa (?), obrigado pelo comentário!
      Bem,
      realmente não está no post a questão de criptografia, mas quem falou que o post é sobre criptografia ?
      Outra,
      acho que partir da idéia de segurança sem mostrar o que são falhas não leva a muito sucesso, sem dizer que estamos falando de pessoas que na maioria nem tem idéia do que é o banco de dados e para que serve, não está no post que será abordada a segurança de banco …
      Então se você tem a mesma disposição que eu ao ponto de propor escrever a troco de nada, posts para tentar compartilhar o que sabe, você bem que poderia ter em seu blog assuntos que levem as pessoas do 0 à 1000 em conhecimentos em um só post, eu mesmo ficaria feliz em poder aprender tudo em uma só página.
      Acho críticas construtivas mas dependendo da forma em que são escritas as vezes não soam muito amigáveis.

  3. luiz

    olá rafael, gostei muito do seu site e já me aproveitei de alguns conteúdos dele…

    você é um cara muito bacana, divulgando na net oque muitos tem duvidas.

    venho entrado direto aqui, gostaria que postasse mais dicas, tutoriais e por ae vai.. se possivel PHP OO + mysql hehe

    1. Rafael Clares

      Luiz, obrigado pelo comentário.
      Bem, na verdade eu gosto de colocar aqui o que eu aprendo, infelizmente desde o começo eu
      disponibilizo o código fonte o que me traz mais downloads que dúvidas ou comentários, de fato,
      eu preciso escrever mais, o problema é que só vejo o número de downloads aumentando e os
      comentários diminuindo o que não me dá tanta vontade de escrever ha-ha-ha.
      Mas beleza véio, logo mais eu irei continuar esse post sobre PHP OO e BD.

      Um forte abraço,

  4. luiz

    eu sei como que é isso…

    tinha um site de festas.. parei com ele porque o usuário é muito mal agradecido…

    ninguem ve o trabalho que vc tem…

  5. Fábio

    BOas é a 1a vez que venho ao seu blog e já me aproveitei de umas coisinhas 😛

    e ja andei a tirar ideias de outras…
    Muito bom o seu blog meus parabens

    acho que deve fazer um 2o de OO porque acho um assunto mto importante ja tinha entrado nisto de objectos á uns dias e acho muito divertido, rapido e pratico…

    Mais uma vez parabens 😉
    e não desanimes

    1. Rafael Clares

      Fábio, que bom que encontrou alguma coisa que lhe interesse no blog, obrigado pela força.
      De fato, preciso me animar mais um pouco…faz tempo que não escrevo….
      Mas em breve vou movimentar isso aqui hehehehe

      abraços

  6. Fábio

    se quiser eu tenho um login feito e/ou uma ligação á DB por objectos muito jeitosa se precisar pa dar um bom exemplo de como trabalhar com objectos é so dizer, tem ai o meu mail por isso esteja á vontade 😉

  7. Ednelson Amaral

    Não rafa achei o sistema de news ” destaques” mais outro problema configurei o conf e os outro arquivos certinho criei o banco olhei no banco ele estar cadastrando as noticias blza, mais na idex não apareçe diz que nenhum registro publicado, onde estar o problema? me ajude vlw abraços..

    1. Rafael Clares

      Ednelson, posso te ajudar sim mas você está comentando em posts distintos do assunto, você precisa colocar sua dúvida no post que tem dúvida, senão vamos misturar tudo aqui ok, coloque sua dúvida no local correto para eu te ajudar. até

  8. alex

    Obrigado! estou lendo de “cabo a rabo” seu site!

  9. OtaviuS

    Show esse post

  10. Mateus

    cara otimo blog, estou estruturando um projeto e vou utilizar o php como base, valeu por disponibilizar seu conhecimento

Os comentários estão encerrados.