Ir para conteúdo

POWERED BY:

Arquivado

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

Perfect Lion

Classes parte 1

Recommended Posts

galera tudo certo...

 

Aqui vamos está ensinando usando o PHP4 mais funfa tbm para o PHP5 e que no PHP5 o Objeto class ganhou mais vida e como muitos ainda têm o php4 então vamos nele. Depois vamos para o PHP5

 

Estou vindo aqui começar um ciclo de tutoriais sobre classes para que o pessoal possa começar a desfrutar desse método de programar que agiliza em muito em suas aplicações, pois com ele você reaproveitar scripts que você já havia criado a vantagem tbm de se trabalhar com classe que você pode criar sua biblioteca para que no futuro você precise usar determinado assunto em seu aplicativo lá vai está a sua biblioteca já um comando prontinho para que você possa reutilizar sem perder tempo.

 

 

Bem chega de lerolero e bora estudar.

 

Class:

 

Vamos entender o que é no modo eu quero aprender e nunca mais esquecer.

 

Imagina uma classe de aula nessa classe de aula temos o professor, aluno e material pronto já têm nossa classe montada correto?

 

Agora vamos dizer que nossos professor, aluno, carteira e material são as "variáveis" que sempre estão em troca dentro dessa sala de aula, com agora dentro da sala de aula exite "funções" para determinadas situações por exemplo o professor a função dele é 'ensinar' a do aluno é 'aprender' e material 'amazernar o conteúdo'.

 

Então temos nossa classe montadinha. Se você perceber temos variareis e funções em negrito por quê? ... Porque eles são os elementos que uma classe obtém, chegamos a conclusão que uma Class é um conjunto de variáveis e métodos( funções ) em um determinado bloco "class".

 

Eu acho que isso ficou bem explica dinho certo?? Agora num tem como esquecer o que é uma classe. Agora vamos ao que interessa.

 

Como montamos uma class?

 

Para montarmos uma classe usamos o seguinte método.

 

class nome_da_classe{elementos}
Aqui já temos nossa classe formadinha.

 

Vamos usar a nossa explicação sobre a classe e montar uma classe dela ok. Então começaremos com o nome da classe "sala de aula";

 

class salaDeAula{}
Bem já temos nossa sala de aula criada vamos colocar os elementos que havíamos citado acima. Vamos definir as variareis

 

class salaDeAula{var $professor;var $aluno;var $material;}
Agora vcs estão se perguntando porque esse bendito "var" ai?

As "var" é para identificar que é uma variável dentro desse bloco sejam ambiente para que ele possa ser usada em vários local dentro da classe. No PHP5 não é mais utilizado esse método "var" mais se for PHP4 é necessário. no PHP5 usamos permissões que são ótimas. Voltando a nossa classe

 

Agora vamos colocar as funções dentro de nossa classe:

 

 

class salaDeAula{var $professor;var $aluno;var $material; function Ensina(){   } function Aprender(){   }  function Amazernar(){   }}
Bem já temos nossa classe formulada e pronta para receber as instruções. Vamos fazer as instruções do "Ensinar"

 

O que o professor precisa para ensinar?

Ele precisa do material didático e do aluno para poder passar o conteúdo para o aluno certo?

Então vamos criar dentro dessa função uma variável matéria com o valor de "matemática"; e depois definimos que o professor é de matemática; usando o "$this" que em inglês significa "neste" então dizemos que "deste bloco" que é nossa classe.

 

Sobre $this;

 

O $this ele pega as variáveis de ambiente da classe que você declarou nos "var"

 

function Ensina(){  $materia = "Matemática";  $this->professor = $materia; // aqui estamos usando o nome da variável $professor sem o "$" pois quando estamos trabalhando com $this ele já reconhece a variável passada pelo "->"   return "O Professor ensina $materia portanto ele é professor de $materia"; }
Bem aqui já definimos que o professor vai ensinar Matemática então o professor é de Matemática. Agora vamos para a função Aprender para alguém aprender na sala de aula ele precisa do professor e do material certo? então vamos criar as variareis $caderno; depois pegamos o professor com a matéria e pegamos a variável material para armazena o conteúdo do caderno.

 

function Aprender(){  $caderno = "100fls";  $this->material["caderno"] = $caderno;  $this->material["materia"] = $this->professor;  return "O aluno está aprendendo $this->professor com um caderno de $caderno"; }
Como vocês devem ter percebido nossa variável $material ela ganho uma propriedade que é a array() vamos definir que nossa variável $material é um array

 

class salaDeAula{var $professor;var $aluno;var $material = array(); // aqui definimos que a variável $material é um array}
Agora vamos para nosso Armazenar para armazenar o conteúdo que o aluno aprendeu precisamos do material dele então vamos pegar o material dele.

 

function Amazernar(){ $conteudo = $this->material;  return "O Aluno aprendeu {$conteudo["materia"]} com um caderno de {$conteudo["caderno"]}"; }
pronto já preenchemos nossas funções... Agora vamos arrumar nossa class

 

class salaDeAula{var $professor;var $aluno;var $material; function Ensina(){  $materia = "Matematica";  $this->professor = $materia; // aqui estamos usando o nome da variável $professor sem o "$" pois quando estamos trabalhando com $this ele já reconhece a variável passada pelo "->"   return "O Professor ensina $materia portanto ele é professor de $materia"; } function Aprender(){  $caderno = "100fls";  $this->material["caderno"] = $caderno;  $this->material["materia"] = $this->professor;  return "O aluno está aprendendo $this->professor com um caderno de $caderno"; } function Amazernar(){ $conteudo = $this->material;  return "O Aluno aprendeu {$conteudo["materia"]} com um caderno de {$conteudo["caderno"]}"; }$this->Ensina();}
pronto agora vamos usar nossa classe Sala de Aula.

 

para iniciarmos nossa classe usamos o método

 

$variavel = new nome_da_classe();
Agora vamos ver.

 

class salaDeAula{var $professor;var $aluno;var $material; function Ensina(){  $materia = "Matematica";  $this->professor = $materia; // aqui estamos usando o nome da variável $professor sem o "$" pois quando estamos trabalhando com $this ele já reconhece a variável passado pelo "->"   return "O Professor ensina $materia portanto ele é professor de $materia"; } function Aprender(){  $caderno = "100fls";  $this->material["caderno"] = $caderno;  $this->material["materia"] = $this->professor;  return "O aluno está aprendendo $this->professor com um caderno de $caderno"; } function Amazernar(){ $conteudo = $this->material;  return "O Aluno aprendeu {$conteudo["materia"]} com um caderno de {$conteudo["caderno"]}"; }}$sala = new salaDeAula();
Pronto agora já temos nossa classe iniciada vamos usar as funções que temos dentro de nossa classe. Usando a variável que iniciou a classe mais o -> e o nome da função ou variável na frente. Vejamos.

 

 

class salaDeAula{var $professor;var $aluno;var $material; function Ensina(){  $materia = "Matematica";  $this->professor = $materia; // aqui estamos usando o nome da variável $professor sem o "$" pois quando estamos trabalhando com $this ele já reconhece a variável passada pelo "->"  return "O Professor ensina $materia portanto ele é professor de $materia"; } function Aprender(){  $caderno = "100fls";  $this->material["caderno"] = $caderno;  $this->material["materia"] = $this->professor;  return "O aluno está aprendendo $this->professor com um caderno de $caderno"; } function Amazernar(){ $conteudo = $this->material;  return "O Aluno aprendeu {$conteudo["materia"]} com um caderno de {$conteudo["caderno"]}"; }}$sala = new salaDeAula();echo $sala->Ensina();echo "<br />";echo $sala->Aprender();echo "<br />";echo $sala->Amazernar();
Pronto agora imprimiu na tela o seguinte resultado.

 

O Professor ensina Matemática portanto ele é professor de Matemática

O aluno está aprendendo Matemática com um caderno de 100fls

O Aluno aprendeu Matemática com um caderno de 100fls;

ok para uma Introdução a Classes foi boa até a próxima

 

 

 

 

Classes - Parte 2

Classes - Parte 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom! :)

 

Como eu não entendo nada de classes..

 

Como eu faço para compartilhar o valor uma variavel entre as funções?

 

Exemplo.

 

function teste($a){// Aqui eu faço algum tipo manipulação}function exibe(){// Aqui eu exibo o a variável manipulada pela função teste????}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Douglas aqui você pode fazer o seguinte..

 

function teste($a){return $manipulada;// Aqui eu faço algum tipo manipulação}function exibe(){return $this->teste("opa");// Aqui eu exibo o a variável manipulada pela função teste????}

caso você queira que seja uma variavel você faz o seguinte

 

var $manipula;function teste($a){return $this->manipulada = $a; // Aqui eu faço algum tipo manipulação}function exibe(){return $this->manipulada;// Aqui eu exibo o a variável manipulada pela função teste????}

ok

 

luis-restart -> Valeu =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom o tutorial, gostei.Mas eu tenho uma dúvida, existe a possibilidade de criar uma classe com a maioria dos comandos SQLs mais utilizados, como os select's, insert's e delete's? E ainda, associar a um objeto de uma classe os valores obtidos através das queries?[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem como sim.

 

você pode fazer da seguinte forma.

 

Ex. Obtido pelo Fabyo.

 

config.php

<?phpdefine("SERVIDOR", "localhost");define("USUARIO", "root");define("SENHA", "");define("BANCO", "banco");?>

conexao.php

class conexao{	var $cnn;		function Abrir()	{		if($this->cnn = @mysql_connect(SERVIDOR, USUARIO, SENHA)) {			//mysql_select_db Retorna TRUE em caso de sucesso ou FALSE em falhas. 			return mysql_select_db(BANCO);		} else {			unset($this->cnn);			return false;		}			}		function Fechar()	{		return isset($this->cnn) ? mysql_close() : false;	}}

comando.php

class comando extends conexao{	function query($sql)	{		if($this->Abrir()) {			if($re = mysql_query($sql)){				$this->Fechar();						return $re;			}			} else {			echo mysql_error();			exit;		}	}}

teste.php

 

include "config.php";include "conexao.php";include "comando.php";$com = new comando();$re = $com->query("select * from tabela");while($l = mysql_fetch_array($re)) {	echo $l["campo"];}?>

E aqui entra tbm mais uma função de nossa class o "extends" ele é o kra que faz pegar info de outra class.. vamos dizer que ela torna a sua class nova em uma filha... sendo filha todos os filhos eles herdam algo do pai ou da mãe so não existe isso se o pai pulou cerca ou mãe :P hahha voltando a nossa explicação, assim nossa classe filha vai herdar algumas funções e meodos que o pai deixo para que ela possa usar. A sintaxe é o seguinte.

 

class nova_class extends classe_pai{}

Ok

Aqui nos meus tutos eu explico da forma que eu acho que a pessoa vai entender pois se explicar usando metodos classicos tenho certeza que vai ficar muito vago na mente de quem quer aprender. Por isso que eu assossio com algo.. :P

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns Erick!!Muito bom este POST#Tutorial, na minha opinião deveria ir até pra seção de PHP do site da iMasters. Eu estou reformulando um projeto para um cliente e o mesmo solicitou o desenvolvimento com classes, heranças e objetos e que funcione na versão 4 e 5 do PHP e este tutorial veio para somar meu conhecimento e esclarecimento sobre objetos.Um grande abraço, meus parabéns e muito sucesso!!Wellington Rodrigues/ $this->ursolouco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa ursolouco valeu ai pelos elogios... vou ver se crio mais alguns tutos :P mais a falta de tempo ta me comendo vivo....Sobre colocar na sessão de php como artigo pode até ser vou ver com o fabyo sobre isso.Flw ai. boa sorte no trampo que tu ta fazendo ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galerinha muito bom este tuto de vcs...Meus parabens...Tirei muitas dúvidas...Vlw...T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw ae cara pelo topico

=D

Muito bom mesmo...

 

Mais tem uma coisa que aconteceu aki:

 

function Amazernar(){$conteudo = $this->material; return "O Aluno aprendeu {$conteudo["materia"]} com um caderno de {$conteudo["caderno"]}";}Ensina(); 'com essa linha o programa naum funcionou eu precisei retira-la do programa pra funcionar'}$sala = new salaDeAula

Vlw ae pela atenção

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.