Curso de PHP Orientado a Objetos – Parte 1
Primeiro artigo do curso de PHP Orientado a Objetos. Nesta aula seremos apresentados aos conceitos iniciais da Programação Orientada a Objetos.
Motivado pela falta de material de qualidade, resolvi iniciar hoje uma série de artigos sobre PHP Orientado a Objetos.
- PHP Intermediário
- Básico de MySql
- Básico em UML
- Diferenciar POO da programação procedural
- Entender os benefícios da POO
- Definir Classe e Objetos
- Criar uma classe básica
“A orientação a objetos é um paradigma que representa toda uma filosofia para construção de sistemas. Em vez de construir um sistema formado por um conjunto de procedimentos e variáveis nem sempre agrupadas de acordo com o contexto, como se fazia em linguagens estruturadas (Cobol, Clipper, Pascal), na orientação a objetos utilizamos uma ótica um pouco mais próxima do mundo real. Lidamos com objetos, estruturas que já conhecemos do nosso dia-a-dia e sobre as quais possuímos maior compreensão.”
Orientação a Objetos – Estudo das Classes e Objetos
O conceito de classe nada mais é do que uma estrutura que define um tipos de dados, podendo conter variáveis (chamaremos de atributos) e também funções (chamaremos de métodos). Classes manipulam definições e objetos manipulam valores.
Como exemplo, vamos criar uma classe denominada carro. Automaticamente somos levados a pensar em algumas características inerentes aos carros que conhecemos, chamaremos de propriedades:
Propriedades do carro: Ano, modelo, cor, fabricante e etc..
Agora vamos pensar no que o carro faz, chamaremos de métodos:
Métodos: Locomover, frear, buzinar e etc..
Seguindo esta linha de pensamento, vamos criar a classe que define o carro, com suas devidas propriedades e métodos, e em seguida comentaremos.
1 2 3 4 5 6 7 8 |
Class carro{ public $ano; public $modelo; public $cor; public $fabricante; } |
Para testar, crie um novo arquivo php, salve como Carro.class.php. Não esqueça das tags de abertura e fechamento do php ().
Este é o escopo básico de uma classe. Na linha 1 temos o que define uma classe (palavra reservada Class), seguida do nome da classe, neste caso Carro.
Observação: Por convenção, o nome das classes devem iniciar com letra maiúscula.
Nas linhas de 3 a 6, temos os atributos da classe, precedidos pela palavra reservada public, usado para indicar que aquele atributo é publico (veremos isso nas próximas aulas).
Um objeto contém exatamente a mesma estrutura e as propriedades de uma classe, no entanto sua estrutura é dinâmica, seus atributos podem mudar de valor durante a execução do programa e podemos declarar diversos objetos oriundos de uma mesma classe.
Exemplo de Objetos
1 2 3 4 5 6 7 8 9 10 11 |
//incluindo a classe que criamos anteriormente include("carro.class.php") //Instanciando (opa, palavrinha nova) um novo objeto $carro = new carro(); //Atribuindo valores aos atributos que criamos $carro->ano = 2012; $carro->modelo = "C4 VTR"; $carro->cor = "Preto"; $carro->fabricante = "Citroen"; |
O que fizemos foi criar o objeto carro, e em seguida preenchemos seus atributos.
É importante analizar e entender a metodologia utilizada, fique atento aos comentários.
Continuaremos na próxima aula.
Realmente é uma ótima iniciativa esta sequência de matérias sobre POO. Assim que surgir uma oportunidade, gostaria de ver aqui no site, alguma coisa sobre Frameworks. É um assunto que acredito, interessaria muito públicos mais experientes.
O post ficou execelente! Bom trabalho.
Amigo, parabéns pelo iniciativa, muito didático e profissional.
Forte abraço.
William Castro
webdascosias.com
@WilliamPub
Maravilha. Para eu que sou viciado em procedures e functions desde 1971, e tinha muita resistência à OOP, este curso é simples, completo e fácil, bem melhor do que já estudei de Java. Como Desenvolvedor PHP desde 2003, eu recomendo. Você está de parabéns Leandro.
Ótimo curso, ótima explicação. Sempre travava quando começava aprender classe e tudo mais e esse curso foi uma luz. Parabéns dude, foi de enorme ajuda. Curso tá ótimo!
Leandro, o material está muito bom, muito detalhado, bem explicado e exemplificado. Está de parabéns, estou acompanhando!
muito bom esse curso, você está de parabéns. A única coisa que falta é você ensinar a orientação a objetos junto com banco de dados, conexão, consultas, etc. Se tivesse isso seria PERFEITO. de qualquer forma, seus cursos são ótimos, mais uma vez, parabéns. Abraços.
Veremos PDO. Uma interface totalmente orientada a objetos para acesso a banco. Nas próximas aulas.
Abraços e obrigado pelo comentário.
estamos esperando à este curso a tanto tempo , vai sair or not ?
Valeu leandro essa sua inciativa mostra que você realmente é um cara diferenciado na sociedade,afinal conhecimento é para ser repartido,
Parabéns pela objetividade e didática do artigo, realmente muito bom, acompanhando os próximos!
Ótimas postagens! Objetivo e muito claro. Parabéns e obrigado por compartilhar o seu conhecimento com a gente.
Não faltou as aspas “” na linha 8 … $carro->ano = 2012; ??
não pois e um numero inteiro. do tipo int
Muito bom cara , parabéns pela iniciativa !
Parabéns pela iniciativa…muito bacana mesmo!
Muito boa a primeira aula, partindo para 2º aula.
Vlww
Parabéns pelo conteúdo cara.
Muito bom o curso, muito bem explicado, parabens cara e obrigado por compartilhar conhecimento, agradecido.
Excelente!
Deveriam fazer uma apostila com todo o conteúdo + códigos de exemplo, etc., e disponibilizar pra download.
Ou, melhor ainda, além disso fazer tutoriais em vídeo.
Seria ótimo!
Obrigado Leando pela ótima iniciativa…Hoje comercei meus estudos OO
Muito bom o site e o material. Parabéns
Ótimo conteúdo, muito bem escrito. Verei os próximos.
Cara POO no PHP, não entrava na minha cabeça de geito nenhum, não sabia o que fazer… e graças a este conteúdo consegui desenrolar-me…
excelente conteúdo… parabens
Gostei do seu artigo. Muito simples, funcional e bem explicado. Gostei da linguagem empregada. Talvez “suscinto” seja como definiria seu artigo em uma palavra.
Muito bom! Valeu pelo material!
Ótimo material,, é de conteúdo assim que se faz uma net interessante!! Obrigado!
Ótimo Iniciativa, Post …. tinha algumas dúvidas que não fixaram na minha aprendizagem…estava com uma abobrinha quanto a POO em um dos meus projetos …e achei a resposta em um dos POSTS deste Curso…minerando na rede…..
Partindo do Principio … vou dar continuidade no Curso..
Mais uma vez .. vlw pela iniciativa …
Att, Karlos
Parabéns pelo artigo, muito bom e profissional.
Nossa muito obrigado! Parabéns pela iniciativa, ótimo conteúdo!
Primeiro aula, nota 10.
Iniciativa, nota 10.
Parabéns, continue assim. Publicando matérias de altíssima qualidade.
[]s.
André Vieira.
Primeiramente, parabéns pela iniciativa! =)
Mas que convenção é essa na qual o nome das classes devem iniciar com letra maiúscula?
Abs
Está de parabéns, ótimo material, tenho certeza que aprenderei muito.
Parabéns pelo material e por se dispor a compartilhar seus conhecimentos.
Começando os estudos….
Gostei muito da primeira parte… Vai me ajudar muito.
Vlw’s e continue…
Excelente iniciativa!
Prepare-nos uma apostila com o material, seria ótimo tb.
Obrigado pelo conhecimento dividido!
Até que enfim um exemplo decente de aula de OO.
Parabéns ao autor!
Procurando aprender PHP OOP, hoje. Cheguei a este site. Gostei de sua explicação de uma forma que podemos entender com facilidade. Vou continuar meus estudos por aqui.
Abraço.
Parabéns pela iniciativa louvável de transmitir conhecimento e pela qualidade do material. Saindo agora do paradigma da programação estruturada e essa série de artigos abriu a minha mente para a programação orientada a objetos. Melhor conteúdo no que se refere a PHP Orientado a objetos que encontrei na internet. Novamente, meus parabéns e muito obrigado!
Boas,
Penso que é informacao mt util no inicio básico mas o programacao mais correctar seria criar variáveis private e criar funções do setNome(nome), setMorada(morada) e os respectivos inspectores getNome(), getMorada(). Pelo menos em java tomamos estes procedimentos para não haver criação de váriaveis com o mesmo nome.
Obrigado pelo post …penso que aprendi bastante na syntax de PHP no ambito POO.