Tutorial php avançado

Tutorial php avançado

(Parte 6 de 8)

E retorna true se a variável estiver setada (ainda que com uma string vazia ou o valor zero), e false em caso contrário.

A função empty

Possui a seguinte assinatura:

int empty(mixed var);

E retorna true se a variável não contiver um valor (não estiver setada) ou possuir valor 0 (zero) ou uma string vazia. Caso contrário, retorna false.

10. Classes e Objetos

Classe

Uma classe é um conjunto de variáveis e funções relacionadas a essas variáveis. Uma vantagem da utilização é poder usufruir do recurso de encapsulamento de informação. Com o encapsulamento o usuário de uma classe não precisa saber como ela é implementada, bastando para a utilização conhecer a interface, ou seja, as funções disponíveis. Uma classe é um tipo, e portanto não pode ser atribuída a uma variável. Para definir uma classe, deve-se utilizar a seguinte sintaxe:

class Nome_da_classe {

var $variavel1;

var $variavel2;

function funcao1 ($parametro) {

/* === corpo da função === */

}

}

Objeto

Como foi dito anteriormente, classes são tipos, e não podem ser atribuídas a variáveis. Variáveis do tipo de uma classe são chamadas de objetos, e devem ser criadas utilizando o operador new, seguindo o exemplo abaixo:

$variavel = new $nome_da_classe;

Para utilizar as funções definidas na classe, deve ser utilizado o operador “->”, como no exemplo:

$variavel->funcao1(

A variável $this

Na definição de uma classe, pode-se utilizar a variável $this, que é o próprio objeto. Assim, quando uma classe é instanciada em um objeto, e uma função desse objeto na definição da classe utiliza a variável $this, essa variável significa o objeto que estamos utilizando.

Como exemplo da utilização de classes e objetos, podemos utilizar a classe conta, que define uma conta bancária bastante simples, com funções para ver saldo e fazer um crédito.

class conta {

var $saldo;

function saldo() {

return $this->saldo;

}

function credito($valor) {

$this->saldo += $valor;

}

}

$minhaconta = new conta;

$minhaconta->saldo(); // a variavel interna não foi

// inicializada, e não contém

// valor algum

$minhaconta->credito(50);

$minhaconta->saldo(); // retorna 50

SubClasses

Uma classe pode ser uma extensão de outra. Isso significa que ela herdará todas as variáveis e funções da outra classe, e ainda terá as que forem adicionadas pelo programador. Em PHP não é permitido utilizar herança múltipla, ou seja, uma classe pode ser extensão de apenas uma outra.Para criar uma classe extendida, ou derivada de outra, deve ser utilizada a palavra reservada extends, como pode ser visto no exemplo seguinte:

class novaconta extends conta {

var $numero;

function numero() {

return $this->numero;

}

}

A classe acima é derivada da classe conta, tendo as mesmas funções e variáveis, com a adição da variável $numero e a função numero().

Construtores

Um construtor é uma função definida na classe que é automaticamente chamada no momento em que a classe é instanciada (através do operador new). O construtor deve ter o mesmo nome que a classe a que pertence. Veja o exemplo:

class conta {

var $saldo;

function conta () {

$this.saldo = 0;

}

function saldo() {

return $this->saldo;

}

function credito($valor) {

$this->saldo += $valor;

}

}

Podemos perceber que a classe conta agora possui um construtor, que inicializa a variável $saldo com o valor 0.

Um construtor pode conter argumentos, que são opcionais, o que torna esta ferramenta mais poderosa. No exemplo acima, o construtor da classe conta pode receber como argumento um valor, que seria o valor inicial da conta.

Vale observar que para classes derivadas, o construtor da classe pai não é automaticamente herdado quando o construtor da classe derivada é chamado.

12. Conclusões

A realização deste Projeto Supervisionado possibilitou o estudo da linguagem PHP, que se mostrou uma ferramenta poderosa e simples de utilizar na construção de sites para a World Wide Web dinâmicos, possibilitando uma maior interação com o usuário e a armazenagem das informações em Bancos de Dados.

Após a conclusão da aplicação, tornou-se claro que a combinação de scripts server-side, como é o PHP, com scripts client-side, como JavaScript, por exemplo, possibilita um maior aproveitamento dos recursos disponíveis para criar páginas dinâmicas, e no processo de criação deve-se ponderar bastante para concluir qual dos dois tipos de scripts deve ser utilizado para determinado fim.

Entre as linguagens de script server-side, PHP surgiu como uma ótima opção, por diversos motivos: o custo de aquisição, que não existe; a portabilidade, permitindo que uma aplicação seja desenvolvida em uma plataforma para ser executada em outra; a simplicidade, já que os scripts ficam no próprio código html, e possuem uma sintaxe bastante simples; a possibilidade de trabalhar com diversos bancos de dados e servidores http, além do grande número de funções pré-definidas, entre outras coisas.

Por esses e outros motivos, é possível afirmar que o estudo sobre PHP foi bastante enriquecedor, por ter produzido uma documentação em português para a linguagem e ter motivado o aluno a continuar se dedicando ao tema.

13. Bibliografia e Referências

A pesquisa foi baseada no manual de PHP, disponível em www.php.net, e em diversos tutoriais disponíveis no site www.phpbuilder.com. Esses dois endereços contém uma vasta documentação sobre a linguagem, além de endereços para listas de discussão, onde pode-se solicitar ajuda de programadores mais experientes.

Uma boa referência em português é a lista “PHP para quem fala Português”, que pode ser assinada no endereço www.egroups.com/group/php-pt/.

Em inglês, além dos endereços citados acima, uma boa fonte é o site PHPWizard, que pode ser encontrado em www.phpwizard.net.

APÊNDICE 01 - Funções para tratamento de strings

Funções relacionadas a HTML

htmlspecialchars

string htmlspecialchars(string str);

Retorna a string fornecida, substituindo os seguintes caracteres:

  • & para '&'

  • " para '"'

  • < para '&lt;'

  • > para ‘&gt;'

htmlentities

string htmlentities(string str);

Funciona de maneira semelhante ao comando anterior, mas de maneira mais completa, pois converte todos os caracteres da string que possuem uma representação especial em html, como por exemplo:

  • º para '&ordm;'

  • ª para '&ordf;'

  • á para '&aacute;'

  • ç para ‘&ccedil;'

nl2br

string nl2br(string str);

Retorna a string fornecida substituindo todas as quebras de linha (“\n”) por quebras de linhas em html (“<br>”).

Exemplo:

echo nl2br(“Mauricio\nVivas\n”);

Imprime:

Maurício<br>Vivas<br>

get_meta_tags

array get_meta_tags(string arquivo);

Abre um arquivo html e percorre o cabeçalho em busca de “meta” tags, retornando num array todos os valores encontrados.

Exemplo:

No arquivo teste.html temos:

...

<head>

<meta name="author" content="jose">

<meta name="tags" content="php3 documentation">

...

</head><!-- busca encerra aqui -->

...

a execução da função:

get_meta_tags(“teste.html”);

retorna o array:

array(“author”=>”jose”,”tags”=>"php3 documentation");

strip_tags

string strip_tags(string str);

Retorna a string fornecida, retirando todas as tags html e/ou PHP encontradas.

Exemplo:

strip_tags('<a href="teste1.php3">testando</a><br>');

Retorna a string “testando”

urlencode

string urlencode(string str);

Retorna a string fornecida, convertida para o formato urlencode. Esta função é útil para passar variáveis para uma próxima página.

urldecode

string urldecode(string str);

Funciona de maneira inversa a urlencode, desta vez decodificando a string fornecida do formato urlencode para texto normal.

Funções relacionadas a arrays

Implode e join

string implode(string separador, array partes);

string join(string separador, array partes);

As duas funções são idênticas. Retornam uma string contendo todos os elementos do array fornecido separados pela string também fornecida.

Exemplo:

$partes = array("a", "casa número", 13, "é azul");

$inteiro = join(" ",$partes);

$inteiro passa a conter a string:

“a casa número 13 é azul”

split

array split(string padrao, string str, int [limite]);

Retorna um array contendo partes da string fornecida separadas pelo padrão fornecido, podendo limitar o número de elementos do array.

Exemplo:

$data = “11/14/1975”;

$data_array = split(“/”,$data);

O código acima faz com que a variável $data_array receba o valor:

array(11,14,1975);

explode

array explode(string padrao, string str);

(Parte 6 de 8)

Comentários