dúvida sobre Programação Orientada a Objetos (PHP)
5 respostas
Erick_Ribeiro
Olá galera. Estou estudando PHP através do site http://codeacademy.com/ e estou com uma dúvida em relação a Orientação a Objetos.
Quando eu estudei Orientação a Objetos na faculdade usando Java, aprendi que as propriedades e métodos de um objeto devem ser declarados como privados, porém, eu analisando o código da seguinte página no codeacademy, percebi que o autor usou as propriedades como pública. Isso está certo?
link: http://www.codecademy.com/pt/courses/web-beginner-en-ZQQ64/0/2?curriculum_id=5124ef4c78d510dd89003eb8
Não é correto. Porém, você deve considerar que a OO só surgiu no PHP na versão 4, com poucos recursos. Na versão 5 é que o suporte aumentou.
Assim, os tutoriais são geralmente destinados a pessoas que vem da cultura de código estruturado.
Erick_Ribeiro
ViniGodoy:
Não é correto. Porém, você deve considerar que a OO só surgiu no PHP na versão 4, com poucos recursos. Na versão 5 é que o suporte aumentou.
Assim, os tutoriais são geralmente destinados a pessoas que vem da cultura de código estruturado.
Ah! Obrigado, Vini. Não sabia dessa história sobre a o suporte do OO no PHP.
Agradeço a atenção!!
adriano_si
Erick, se você seguir pelo PHP, procure usar o Zend Framework…
Abs e bons estudos
drsmachado
E, a julgar pela forma como a classe está, com certeza o direcionamento é 100% para quem vem de PHP estruturado…
<!DOCTYPE html><html><head><title> Introduction to Object-Priented Programming </title><linktype='text/css'rel='stylesheet'href='style.css'/></head><body><p><?php// The code below creates the classclassPerson{// Creating some properties (variables tied to an object)public$isAlive=true;public$firstname;public$lastname;public$age;// Assigning the valuespublicfunction__construct($firstname,$lastname,$age){$this->firstname=$firstname;$this->lastname=$lastname;$this->age=$age;}// Creating a method (function tied to an object)publicfunctiongreet(){return"Hello, my name is ".$this->firstname." ".$this->lastname.". Nice to meet you! :-)";}}// Creating a new person called "boring 12345", who is 12345 years old ;-)$me=newPerson('boring','12345',12345);// Printing out, what the greet method returnsecho$me->greet();?></p></body></html>
As boas práticas orientam a separar o código PHP e o HTML em arquivos distintos.
As boas práticas, também, orientam a colocar as classes em arquivos específicos.
Erick_Ribeiro
drsmachado:
E, a julgar pela forma como a classe está, com certeza o direcionamento é 100% para quem vem de PHP estruturado…
<!DOCTYPE html><html>
...
</html>
As boas práticas orientam a separar o código PHP e o HTML em arquivos distintos.
As boas práticas, também, orientam a colocar as classes em arquivos específicos.