(Parte 1 de 4)

PHP 5

Orientado a Objetos

Introdução ao PHP 5

Com as primeiras 2 versões de PHP, PHP 3 e PHP 4, conseguiram uma plataforma potente e estável para a programação de páginas do lado do servidor. Estas versões serviram muito de ajuda para a comunidade de desenvolvedores, tornando possível que PHP seja a linguagem mais utilizada na web para a realização de páginas avançadas.

Entretanto, ainda existiam pontos negros no desenvolvimento de PHP que trataram de solucionar com a versão 5, aspectos que fizeram falta na versão 4, quase desde o dia de seu lançamento. Referimonos principalmente à programação orientada a objetos (POO) que, apesar de estar suportada a partir de PHP3, só implementava uma parte muito pequena das características deste tipo de programação.

Nota: A orientação a objetos é uma maneira de programar que trata de modelar os processos de programação de uma maneira próxima à realidade: tratando a cada componente de um programa como um objeto com suas características e funcionalidades. Podemos ver uma pequena introdução no artigo O que é a programação orientada a objetos.

O principal objetivo de PHP5 foi melhorar os mecanismos de POO para solucionar as carências das versões anteriores. Um passo necessário para conseguir que PHP seja uma linguagem apta para todo tipo de aplicações e meios, inclusive os mais exigentes.

Instalação de PHP5 com WAMP5

Existe um pacote de instalação chamado WAMP5 que pode instalar em conjunto Apache, PHP 5, MySQL e PHPMyAdmin. Neste capítulo, ainda nos referimos à forma de instalação de WAMP5 e outras opções para aumentar as possibilidades do pacote.

Existe uma maneira de começar a utilizar PHP5 em Windows sem ter que sofrer as complicações típicas da instalação dos servidores necessários 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 módulo de programação em PHP versão 5.

WAMP é um sistema indicado para os usuários que não têm instalado no sistema nenhum dos programas necessários para programar em PHP (Apache, PHP e MySQL), já que realiza uma instalação completa e desde zero. Mas também podem utilizar este programa os usuários que dispõem de Apache, PHP e/ou MySQL em seu sistema. Em cujo caso, simplesmente se realizará outra cópia das aplicações em um diretório distinto, que à princípio, não tem porque interferir com as outras instalações 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 páginas web mais difundido do mercado. Embora a última versão deste servidor seja Apache 2, instala-se uma versão anterior que é mais estável. Existe um Add-on que permite substituir a versão 1.3.31 de Apache pela última versão.

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 através de uma interface web.

SQLitemanager. Um sistema para administrar uma base de dados a partir de sentenças SQL. Instalação de WAMP

Nota: A versão dos software acima são referentes até a data de criação desta apostila.

A instalação se realiza através de um executável Windows onde podem se introduzir poucas configurações, apenas o diretório onde desejarmos que se instalem os programas. Depois do processo de instalação foram criados dois serviços com o servidor web e o de base de dados:

Serviço wampapache: Relacionado com o servidor Apache. Serviço wampmysql: Relacionado com a base de dados MySQL. Ademais, dentro do diretório onde tivermos instalado WAMP5 terá sido criado uma pasta chamada "w", que corresponde com o diretório de publicação, ou seja, o lugar onde devem ser colocadas as páginas web.

Durante a instalação também 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 opção que põe "Start Wampserver", que será necessário executar se não 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 opções variadas para providenciar os serviços relacionados com o pacote.

Podemos provar se os serviços estão funcionando perfeitamente acessando à página de início do servidor, escrevendo na barra de endereços de nosso navegador algo como http://localhost/.

Então deverá aparecer uma página com vários links às distintas ferramentas instaladas com WAMP5, além de algumas páginas de proba de PHP.

Add-ons

Existem vários acréscimos 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 opção no menu de WAMP5 que permite mudar de uma versão a outra de PHP.

Existem outros acréscimos disponíveis: Instalar ActiveState Perl em nosso sistema, para permitir a execução de CGI. Atualizar a versão de Apache 2. Instalar Zend Optimizer, para melhorar o comportamento em tempo de execução de PHP. Por último, o add-on que instala Webalizer, um sistema para obter estatísticas de uso do servidor web.

Pode-se obter mais informação deste sistema e opções para download na página http://www.en.wampserver.com/

Modelo de orientação a objetos em PHP 5

Como PHP 5 trabalha com a orientação a objetos. Lista das novidades em relação aos objetos em versões anteriores.

Um dos problemas mais básicos das versões anteriores de PHP era a clonagem de objetos, que se realizava ao atribuir um objeto a outra variável ou ao passar um objeto por parâmetro em uma função. Para resolver este problema PHP5 usa os manipuladores de objetos (Object handles), que são uma espécie de ponteiros que apontam os espaços de memória onde residem os objetos. Quando se atribui um manipulador de objetos ou se passa como parâmetro em uma função, se duplica o próprio object handle e não o objeto em si.

Nota: Também pode-se realizar uma clonagem de um objeto, para obter uma cópia exata, mas que não é o próprio objeto. Para isso, utilizamos uma nova instrução chamada " clone", que veremos mais adiante.

Algumas características do trabalho com POO em PHP 5

Vejamos a seguir uma pequena lista das novas características da programação orientada a objetos (POO) em PHP5. Não vamos descrever exaustivamente cada característica. 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 métodos construtores e destrutores (Os que se encarregam de resumir as tarefas de iniciação e de destruição dos objetos. Agora se chamam

__construct e __destruct.

2.- Acceso public, private e protected a propriedades e métodos A partir de agora podemos utilizar os modificadores de acesso habituais da POO. Estes modificadores servem para definir que métodos e propriedades das classes são acessíveis desde cada meio.

3.- Possibilidade de uso de interfaces As interfaces se utilizam na POO para definir um conjunto de métodos que implementa uma classe.

Uma classe pode implementar várias interfaces ou conjuntos de métodos. Na prática, o uso de interfaces é utilizado muitas vezes para suprir a falta de herança múltipla de linguagens como PHP ou Java. Explicaremos isto com detalhe mais adiante.

4.- Métodos e classes final Em PHP 5 pode-se indicar que um método é "final". Com isso, não se permite sobrescrever esse método, em uma nova classe que o herde. Se a classe é "final", o que se indica é que esta classe não permite ser herdada por outra classe.

5.- Operador instanceof Utiliza-se para saber se um objeto é uma instância de uma classe determinada.

6.- Atributos e métodos static Em PHP5 podemos fazer uso de atributos e métodos "static". São 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 métodos abstratos Também é possível criar classes e métodos abstratos. As classes abstratas não se podem instanciar, costumam ser utilizadas para herda-las de outras classes que não têm porque serem abstratas. Os métodos abstratos não podem ser chamados, utilizam-se mais para serem herdados por outras classes, onde não têm porque serem declarados abstratos.

8.- Constantes de classe Pode-se definir constantes dentro da classe. Logo, pode-se acessar tais constantes através da própria classe.

9.- Funções que especificam a classe que recebem por parâmetro Agora podem se definir funções e declarar que devem receber um tipo específico de objeto. No caso de que o objeto não seja da classe correta, se produz um erro.

10.- Função __autoload É habitual que os desenvolvedores escrevam um arquivo por cada classe que realizam, como técnica para organizar o código das aplicações. Por essa razão, às vezes é fatigante realizar os incluis de cada um dos códigos das classes que se utilizam em um script. A função __autoload serve para tentar incluir o código de uma classe que se necessite, e que não tenha sido declarada ainda no código que está sendo executada.

1.- Clonagem de objetos Se desejarmos, podemos realizar um objeto a partir da cópia exata de outro objeto. Para isso, utilizase a instrução"clone". Também pode se definir o método __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 Programação orientada a objetos (POO) são definições dos elementos que formam um sistema, neste caso, definições dos objetos que vão intervir em nossos programas.

(Parte 1 de 4)

Comentários