É com bastante ânimo que inicio uma série de postagens referente a Programação Orientada a Objetos com PHP.
Recentemente ganhei da minha magnífica namorada, um excelente livro: PHP - Programando com Orientação a Objetos - de Pablo Dall'Oglio.
O livro é tão fantástico que devorei-o em apenas três dias. Não, não é um livro pequeno! Conta com quase 600 páginas de uma forma muito didática, sempre contendo um exemplo prático a cada explicação.
Farei uma série de posts, retrando os tópicos do livro que acho mais relevantes. Logicamente não irei fazer explicações exatas as do livro, e sim uma abordagem superficial. Recomendo o livro a todos programadores, tanto iniciantes quanto mais experientes. Sem dúvidas é uma leitura que vale muito a pena.
Começando a série de posts, vou abordar diretamente a linguagem.
1.1] o que é PHP?
Segundo a Wikipedia: A linguagem surgiu por volta de 1994, como um pacote de programas CGI criados por Rasmus Lerdof, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL.
Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e métodos.
Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como é a linguagem Java.
O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois, caso haja alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o que não acontecia na PHP 4.
Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. Pode ser, dependendo da configuração do servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, IRIX e Solaris.
1.1.2] Extensão de arquivos:
Os arquivos em PHP geralmente encontram-se no seguinte padrão de extensão:
.php - Arquivo contendo um programa PHP.
.class.php - Um arquivo contendo uma classe em PHP.
.inc.php - Geralmente arquivos com parâmetros de configurações do programa.
1.2] Delimitadores de código:
Para escrevermos um código PHP, iniciamos com os seguintes delimitadores:
<? CODIGO ?>
OU
<?php CODIGO ?>
Ao final de cada comando é finalizado com ponto-e-virgula ";".
1.3] Comentários:
Os comentários em PHP são definidos por duas maneiras.
1.3.1] Comentários de uma linha:
<? // comentário ?>
ou
<? # comentário ?>1.3.2] Comentário em bloco:
<? /* comentários comentários .. */ ?>
1.4] Comandos de saída:
Os comandos de saída, ou seja, que passam as informações para o usuário podem ser executados da seguinte forma:
<? // echo imprimi uma ou mais variáveis echo 'Olá mundo'; ?>
<? // print imprimi uma string print 'Olá mundo'; ?>
<? // var_dump, muito utilizado para debugar um vetor. var_dump($vetor); ?>
<? /* print_r, assim como var_dump imprimi variáveis de forma explanativa, mas de uma maneira mais legível */ print_r($vetor); ?>
1.5] Variáveis:
As variáveis são identificacores com valores voláteis e mutáveis, que só existem durante a execução do programa, uma variável é sempre precedida do caractere $ (cifrão).
<? $fruta = "Abacate"; echo $fruta; //Resultado: Abacate ?>
Para sua aplicação ter um código-fonte mais claro, é sempre bom nomear as variáveis de acordo com o conteúdo que irá receber, por exemplo: para variável que conterá o nome de um aluno, podemos declara-la como: $nomeAluno. Jamais poderemos declarar uma variável iniciando por valores numéricos, espaços ou caracteres especiais. Quanto mais clara for a nomentaclatura de suas variáveis, mais entendível será o código de sua aplicação.
Também devo lembrar que o PHP é case-sensitive, ou seja, Abacate é diferente de abacate, por isso é sempre bom seguir um padrão na hora de nomear suas variáveis, por exemplo: no caso de um nome de variável composto, facilita se começarmos a nomenclatura com letra minúscula e a palavra seguinte com letra maiúscula: $nomeProduto.
1.5.1] Variáveis - Tipo Booleano
Tipos Booleanos são valores lógicos, verdadeiro ou falso.
Por exemplo, se a variável $mostrarFruta for verdadeira, exibiremos "Abacate". Veja no exemplo:
<?
// Variável recebe valor verdadeiro.
$mostrarFruta = TRUE;
if($mostrarFruta){
echo 'Abacate';
}
?>
Vejamos outro exemplo:
<?
// declara variável numérica
$umidade = 91;
// testa se é maior que 90. Retorna um boolean
$vai_chover = ($umidade > 90);
// testa se $vai_chover é verdadeiro
if ($vai_chover){
echo 'Está chovendo';
}
?>
1.5.2] Variáveis - Tipo Numérico
Números podem ser especificados em notação decimal (base 10), hexadecimal (base 16) ou octal (base 8), opcionalmente precedido de sinal (- ou +).
<? // número decimal $a = 1234; // um número negativo $a = -123; // número octal (equivalente a 83 em decimal) $a = 0123; // número hexadecimal (equivalente a 26 em decimal) $a = 0x1A; // ponto flutuante $a = 1.234; // notação científica $a = 4e23; ?>
1.5.3] Variáveis - Tipo String
Uma String é uma cadeia de caracteres alfanuméricos. Em sua declaração utilizamos apas duplas "" ou aspas simples \'\'.
<? $fruta = 'Abacate'; $fruta = "Abacate" ?>
1.5.4] Variáveis - Tipo Array
Existem dois tipos de Array's. Uni-dimensionais e Bi-dimensionais.
Um Array uni-dimensional é chamado de Vetor ou Lista.
Array bi-dimensional é chamado de matriz, veja os exemplos:
<?
$frutas = array('Abacate', 'Abacaxi', 'Ameixa');
echo $frutas[1]; // Resultado: Abacate
?>
1.5.5] Variáveis - Tipo Objeto
Um objeto é uma entidade com um determinado comportamento definido por seus métodos (ações) e propriedades (dados). Para criar um objeto deve-se utilizar o operador new. Veja o exemplo de um objeto do tipo Computador.
<?
class Computador{
var $cpu;
function ligar(){
echo "Ligando computador a {$this->cpu}...";
}
}
$obj = new Computador;
$obj->cpu = "500Mhz";
$obj->ligar(); // Resultado: Ligando computador a 500Mhz
?>
1.5.6] Variáveis - Tipo callback
Algumas funções como call_user_func() aceitam um parâmetro que significa uma função a ser executada. Este tipo de dado é chamado de callback. Um parâmetro callback pode ser o nome de uma função representada por uma string ou o método de um objeto a ser executado, representados por um array. Veja os exemplos na documentação da função call_user_func().
1.6] Constantes
Uma constante é um valor que não sofre modificações durante a execução do programa. Ela é representada por um identificador, assim como as variáveis, com a exceção de que só pode conter valores escalares (boolean, inteiro, ponto flutuante e string). Um valor escalar não pode ser composto de outros valores, como vetores ou objetos. As regras de nomenclatura de constantes seguem as mesmas regras das variáveis, com a exceção de que as constantes não são precedidas pelo sinal de cifrão ($) e geralmente utilizam-se nomes em maiúsculo.
<? MAXIMO_CLIENTES // exemplo de constante ?>
Você pode definir uma constante utilizando a função define(). Quando uma constante é definida, ela não pode mais ser modificada ou anulada. Exemplo:
<?
define("MAXIMO_CLIENTES", 100);
echo MAXIMO_CLIENTES; // Resultado: 100
?>
Por hoje é isso pessoALL.
Voltaremos...
