Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Como sempre o p.lion mandando muito bem.blzera garoto? qnto tempo hein hehehnao terminei de ler ainda mas ateh onde eu li ta otimo a leitura. =D[]s man e continue assim.luis fernando
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 =)
Muito bom, Érick.
Parabéns. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
Epyllion -> Valeu kra... =)
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
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
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
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.
Obrigado Perfect Lion, esclareceu minhas dúvidas, gostei!
Disponha.
Muito bom, parabéns!!Valeu!!!
Galerinha muito bom este tuto de vcs...Meus parabens...Tirei muitas dúvidas...Vlw...T+
Valeu, muito bom felismente um tutorial funcional.
beleza! Agora aprendo o que é uma classe!Abraços!
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
Ae mano ... Mandou bemzão na aula aew ..... Perfeito ....
Parabéns e Obrigado mesmo cara!
muito bom!
Obrigado Perfect Lion, você explica
muito bem, gostei de verdade!
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????}