Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nelly

Cadastro Clientes php OO

Recommended Posts

Olá pessoal,Estou estudando Orientação a objetos no php a algum tempo, mas não consegui achar nenhum exemplo prático.Alguem conhece um script ou tutorial de um Sistema de Cadastro Simples (inserir, editar, excluir) feio em PHP OO ?abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cadastrar, editar, inserir... é meio sem sentido OO

por exemplo, uma estrutura de classes para conexao com banco de dados

 

class DB {   public static connection($type, $base) {	  switch($type) {		  case "MySQL":			 return new MySQL($base);			 break;		  case "MSSQL":			 return new MSSQL($base);			 break;	  }   }}class MySQL {   public funtion __construtor($base) {	  if(mysql_connect("localhost", "root", "senha"))		 mysql_select_db($base);   }   public function query($query) {	  return mysql_query($query);   }    ...}class MSSQL {   public funtion __construct($base) {	  if(mssql_connect("localhost", "root", "senha")) {		 mssql_select_db($base);		 return true;	  }	  else {		 throw new DB_exception();	  }   }   public function query($query) {	  return mssql_query($query);   }}//em uso...$con = DB::connection("MySQL", "banco");$con->query("SELECT * FROM algum_lugar");...

 

ahhh... da pra fazer um monte de coisas.. ai é um exemplo pra banco de dados... da pra implementar excessoes, passar os usuarios e senhas por parametro.... o que você quizer, ai to usando um dos pilares da OO, o polimosfismo

 

Abraçoss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hoje acordei pensando nesse tópico (hauhauha nem um pouco viciado não é?)

 

Tem muita gente que acha que fazer classes está programando com orientação a objetos, mas isso não tem nada haver, apenas uma forma de "reciclar" o código. Se bem que faz parte da OO a reutilização do código.

 

A OO tem 3 pilares, Encapsulmento, Herança e Polimorfismo.

 

Bem resumidamente... (quase definindo com uma palavra)

 

Encapsulamento é generalizar (quanto menos as classes forem especificas pra alguma função melhor). Mas tem que tomar cuidado com isso...

 

Herança reutilização do código

 

Polimorfismo Um objeto ter várias formas

 

Em Design Patters é recomendado favorecer a composição do que a herança.

 

 

O PHP5 que venho com uma boa orientação a objetos, temos os metodos e propriedades public, protected e private. Agora é possível criar classes staticas (não podem ser instanciadas e disponivel em todo o codigo), classes abstratas (não podem ser instaciadas e definem metodos para suas herdeiras), temos as interfaces ("programe para uma interface"), há o tratamento de excessões, api da reflexão (meio que invadir uma classe)... tem um monte de coisas

 

Qualquer dúvida com isso, pode me perguntar!! Não sei quase nda também, mas vou atras e estou estudando muito OO.

 

Programador é assim, você chuta uma pedra, sai um monte... mas bons, são poucos!

 

Valeuuuu

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pelas dicas pessoal..

 

 

Eu estava querendo um script em OO para cadastro pra saber se a forma lógica como estou fazendo está correta.

 

Por exemplo, ao cadastrar o usuário eu estou fazendo os seguintes passos:

 

1 - Recebo dados via POST

2 - Crio um objeto usuário com os dados recebidos

3 - Uso alguns métodos para editar as strings das variaveis (validar e-mail por exemplo)

4 - Uso um método "salvaUser" para salvar o usuário no banco.

 

Só que em outras situações como listar, editar etc... não estou conseguindo ver a aplicação da Orientação a objetos, seguindo o modelo que passei acima.

 

Vocês fazem desta forma também? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

To pra criar um exemplo de sistema em oop, mas nunca sobra tempo, vou ver se consigo e posto aqui

 

mas enquanto isso de uma olhada

 

http://www.hufersil.com.br/lumine/enduser/paginas.php?id=16

http://www.hufersil.com.br/lumine/enduser/index.php

 

essa ideia é uma das melhores, se nao quiser usar o Lumine pelo menos você vai entender melhor a ideia de salvar editar usando oop etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom não sei oq exatamente você procura, mas tipo se eu tiver falando besteira você so ignora o post.

 

Bom existe diversas formas de fazer isso usando objetos vou dar um exemplo de como eu faria:

 

Vamos supor um banco de dados com a tabela usuarios com as seguintes colunas: ID, NOME, EMAIL E SENHA.

 

-------------------------------------------------

 

class config{

 

var $host = "localhost";

var $user = "root";

var $pswd = "123";

var $mydb = "clientes";

 

function db_conecta(){

@mysql_connect($this->host, $this->user, $this->pswd)or die(mysql_error());

@mysql_select_db($this->mydb);

}// Fecha função

 

 

function cadastra_dados($nome, $email, $senha){

@mysql_query("INSERT INTO `usuarios` VALUES('','$nome','$email','$senha')")or die(mysql_error());

}// Fecha função

 

}// Fecha classe

 

$start = new config; // Cria uma instancia ou instancia uma classe

$start->db_conecta(); // Chama a função que conecta com o DB

$start->cadastra_dados("João da Silva","joao@dominio.com.br","senha"); // Faz o cadastro do novo usuario

 

----------------------------------------------------------------------------------------------------------

 

Bom não sei se era isso que você precisava, mas qualquer coisa avisa ai.

 

OBS: NÃO TESTEI ESTE CODIGO FIZ AGORA NA HORA QUE ESTAVA RESPONDENDO ESTE TOPICO, TALVEZ TENHA ALGUM ERRO DE DIGITAÇÃO MAS A LÓGICA ESTA CORRETA.

 

AOS MODERADORES, PEÇO DESCULPAS POR NÃO USAR O CÓDIGO DENTRO DO PADRÃO CODE, SÓ QUE MEU NAVEGADOR NÃO SUPORTA JAVASCRIPT E COM ISSO NÃO ABRE NO FORUM A OPÇÃO DE INSERIR UM CODE, MAS SE QUISEREM EDITAR O POSTO FICA MELHOR DE VISUALIZAR.

 

Abraço a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hospeda Sul,

acho que a idéia é esta mesma, como os dados serão gravados através de um form, basta usar pegar os dados via post através do seu método cadastra_dados.

 

era isto que eu tinha em mente, tb não tenho certeza se é assim mesmo que se trabalho com cadastro em OO mas a base é esta.

para listagem penso eu que é necessário apenas criar um método para pegar os dados do banco e tratar atravez de uma listagem.

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.