Apostila php orientado a objetos

Embed Size (px)

DESCRIPTION

 

Text of Apostila php orientado a objetos

  • 1. PHP 5 Orientado a Objetos
  • 2. Introduo ao PHP 5 Com as primeiras 2 verses de PHP, PHP 3 e PHP 4, conseguiram uma plataforma potente e estvel para a programao de pginas do lado do servidor. Estas verses serviram muito de ajuda para a comunidade de desenvolvedores, tornando possvel que PHP seja a linguagem mais utilizada na web para a realizao de pginas avanadas. Entretanto, ainda existiam pontos negros no desenvolvimento de PHP que trataram de solucionar com a verso 5, aspectos que fizeram falta na verso 4, quase desde o dia de seu lanamento. Referimo- nos principalmente programao orientada a objetos (POO) que, apesar de estar suportada a partir de PHP3, s implementava uma parte muito pequena das caractersticas deste tipo de programao. Nota: A orientao a objetos uma maneira de programar que trata de modelar os processos de programao de uma maneira prxima realidade: tratando a cada componente de um programa como um objeto com suas caractersticas e funcionalidades. Podemos ver uma pequena introduo no artigo O que a programao orientada a objetos. O principal objetivo de PHP5 foi melhorar os mecanismos de POO para solucionar as carncias das verses anteriores. Um passo necessrio para conseguir que PHP seja uma linguagem apta para todo tipo de aplicaes e meios, inclusive os mais exigentes. Instalao de PHP5 com WAMP5 Existe um pacote de instalao chamado WAMP5 que pode instalar em conjunto Apache, PHP 5, MySQL e PHPMyAdmin. Neste captulo, ainda nos referimos forma de instalao de WAMP5 e outras opes para aumentar as possibilidades do pacote. Existe uma maneira de comear a utilizar PHP5 em Windows sem ter que sofrer as complicaes tpicas da instalao dos servidores necessrios para programar em PHP. Trata-se de instalar um pacote chamado WAMP, que permite instalar e configurar em um s processo o servidor Apache, a base de dados MySQL e o mdulo de programao em PHP verso 5. WAMP um sistema indicado para os usurios que no tm instalado no sistema nenhum dos programas necessrios para programar em PHP (Apache, PHP e MySQL), j que realiza uma instalao completa e desde zero. Mas tambm podem utilizar este programa os usurios que dispem de Apache, PHP e/ou MySQL em seu sistema. Em cujo caso, simplesmente se realizar outra cpia das aplicaes em um diretrio distinto, que princpio, no tem porque interferir com as outras instalaes alojadas em nosso computador. Programas que contem WAMP5 O software que se instala com WAMP5 contem os seguintes servidores e programas: Apache 2.2.6. O servidor de pginas web mais difundido do mercado. Embora a ltima verso deste servidor seja Apache 2, instala-se uma verso anterior que mais estvel. Existe um Add-on que permite substituir a verso 1.3.31 de Apache pela ltima verso. PHP 5.2.5. O motor renovado da linguagem. MySQL 5.0.45. A base de dados mais difundida para utilizar com PHP. PHPmyadmin. Um software que permite administrar uma base de dados atravs de uma interface web. SQLitemanager. Um sistema para administrar uma base de dados a partir de sentenas SQL. Instalao de WAMP Nota: A verso dos software acima so referentes at a data de criao desta apostila. A instalao se realiza atravs de um executvel Windows onde podem se introduzir poucas configuraes, apenas o diretrio onde desejarmos que se instalem os programas. Depois do processo de instalao foram criados dois servios com o servidor web e o de base de dados: Servio wampapache: Relacionado com o servidor Apache. Servio wampmysql: Relacionado com a base de dados MySQL. Ademais, dentro do diretrio onde tivermos instalado WAMP5 ter sido criado uma pasta chamada "www", que corresponde com o diretrio de publicao, ou seja, o lugar onde devem ser colocadas as
  • 3. pginas web. Durante a instalao tambm devemos decidir se desejamos que WAMP5 se inicie automaticamente ao ligar o computador ou se desejamos que seu funcionamento se realize manualmente. Funcionamento dos servidores Quando instalamos WAMP5 se cria um grupo de programas chamado WampServer, onde poderemos encontrar uma opo que pe "Start Wampserver", que ser necessrio executar se no tivermos selecionado que o servidor se inicie automaticamente. Uma vez o WampServer em funcionamento obteremos um cone na barra de tarefas com a forma parecida a de um marcador de velocidade. Se clicarmos sobre esse cone, abrir um menu com opes variadas para providenciar os servios relacionados com o pacote. Podemos provar se os servios esto funcionando perfeitamente acessando pgina de incio do servidor, escrevendo na barra de endereos de nosso navegador algo como http://localhost/. Ento dever aparecer uma pgina com vrios links s distintas ferramentas instaladas com WAMP5, alm de algumas pginas de proba de PHP. Add-ons Existem vrios acrscimos que podem ser instalados com WAMP, para ampliar as possibilidades do pacote. Por exemplo, podemos instalar um add-on para permitir que WAMP trabalhe com PHP5 ou com PHP4, criando una nova opo no menu de WAMP5 que permite mudar de uma verso a outra de PHP. Existem outros acrscimos disponveis: Instalar ActiveState Perl em nosso sistema, para permitir a execuo de CGI. Atualizar a verso de Apache 2. Instalar Zend Optimizer, para melhorar o comportamento em tempo de execuo de PHP. Por ltimo, o add-on que instala Webalizer, um sistema para obter estatsticas de uso do servidor web. Pode-se obter mais informao deste sistema e opes para download na pgina http://www.en.wampserver.com/ Modelo de orientao a objetos em PHP 5 Como PHP 5 trabalha com a orientao a objetos. Lista das novidades em relao aos objetos em verses anteriores. Um dos problemas mais bsicos das verses anteriores de PHP era a clonagem de objetos, que se realizava ao atribuir um objeto a outra varivel ou ao passar um objeto por parmetro em uma funo. Para resolver este problema PHP5 usa os manipuladores de objetos (Object handles), que so uma espcie de ponteiros que apontam os espaos de memria onde residem os objetos. Quando se atribui um manipulador de objetos ou se passa como parmetro em uma funo, se duplica o prprio object handle e no o objeto em si. Nota: Tambm pode-se realizar uma clonagem de um objeto, para obter uma cpia exata, mas que no o prprio objeto. Para isso, utilizamos uma nova instruo chamada " clone", que veremos mais adiante. Algumas caractersticas do trabalho com POO em PHP 5 Vejamos a seguir uma pequena lista das novas caractersticas da programao orientada a objetos (POO) em PHP5. No vamos descrever exaustivamente cada caracterstica. Faremos isso mais adiante neste mesmo manual. 1.- Nomes fixos para os construtores e destrutores Em PHP 5 temos que utilizar nomes pr-definidos para os mtodos construtores e destrutores (Os que se encarregam de resumir as tarefas de iniciao e de destruio dos objetos. Agora se chamam
  • 4. __construct e __destruct. 2.- Acceso public, private e protected a propriedades e mtodos A partir de agora podemos utilizar os modificadores de acesso habituais da POO. Estes modificadores servem para definir que mtodos e propriedades das classes so acessveis desde cada meio. 3.- Possibilidade de uso de interfaces As interfaces se utilizam na POO para definir um conjunto de mtodos que implementa uma classe. Uma classe pode implementar vrias interfaces ou conjuntos de mtodos. Na prtica, o uso de interfaces utilizado muitas vezes para suprir a falta de herana mltipla de linguagens como PHP ou Java. Explicaremos isto com detalhe mais adiante. 4.- Mtodos e classes final Em PHP 5 pode-se indicar que um mtodo "final". Com isso, no se permite sobrescrever esse mtodo, em uma nova classe que o herde. Se a classe "final", o que se indica que esta classe no permite ser herdada por outra classe. 5.- Operador instanceof Utiliza-se para saber se um objeto uma instncia de uma classe determinada. 6.- Atributos e mtodos static Em PHP5 podemos fazer uso de atributos e mtodos "static". So as propriedades e funcionalidades as quais se pode acessar a partir do nome de classe, sem a necessidade de haver instanciado um objeto de tal classe. 7.- Classes e mtodos abstratos Tambm possvel criar classes e mtodos abstratos. As classes abstratas no se podem instanciar, costumam ser utilizadas para herda-las de outras classes que no tm porque serem abstratas. Os mtodos abstratos no podem ser chamados, utilizam-se mais para serem herdados por outras classes, onde no tm porque serem declarados abstratos. 8.- Constantes de classe Pode-se definir constantes dentro da classe. Logo, pode-se acessar tais constantes atravs da prpria classe. 9.- Funes que especificam a classe que recebem por parmetro Agora podem se definir funes e declarar que devem receber um tipo especfico de objeto. No caso de que o objeto no seja da classe correta, se produz um erro. 10.- Funo __autoload habitual que os desenvolvedores escrevam um arquivo por cada classe que realizam, como tcnica para organizar o cdigo das aplicaes. Por essa razo, s vezes fatigante realizar os incluis de cada um dos cdigos das classes que se utilizam em um script. A funo __autoload serve para tentar incluir o cdigo de uma classe que se necessite, e que no tenha sido declarada ainda no cdigo que est sendo executada. 11.- Clonagem de objetos Se desejarmos, podemos realizar um objeto a partir da cpia exata de outro objeto. Para isso, utiliza- se a instruo"clone". Tambm pode se definir o mtodo __clone para realizar tarefas associadas coma clonagem de um objeto. Classes em PHP 5 Vemos o que uma classe, como podemos defini-la e instanci-la. Classes em PHP 5 As classes em Progra