"Acredita em nossa própria mentira é o primeiro passo para o estabelecimento de uma nova verdade."

Home » Categorias » Programação » PHP

PHP - Programando com Orientação a Objetos [Parte 2]

Olá!

Este post é uma continuação da primeira parte de PHP - Programando com Orientação a Objetos.

1.7] Operadores

1.7.1] Atribuição

Um operador de atribuição é utilizado para definir uma variável atribuindo-lhe um valor. O operador básico de atribuição é =.

   <?
   $var += 5;		    // Soma 5 em $var;
   $var -= 5;		    // Subtrai 5 em $var;
   $var *=5;		     // Multiplica $var por 5;
   $var /= 5;		    // Divide $var por 5;
   ?>
Operadores   Descrição
++$a	    Pré-incremento. Incrementa $a em um e, então, retorna $a.
$a++	    Pós-incremento. Retorna $a e, então, incrementa $a em um.
--$a		    Pré-decremento. Decrementa $a em um e, então, retorna $a.
$a--		    Pós-decremento. Retorna $a e, então, decrementa $a em um.


1.7.2] Aritméticos

Operadores aritméticos são utilizados para realização de cálculos matemáticos.

	Operadores	Descrição
	+	          	Adição.
	-	          	Subtração.
	*	          	Multiplicação.
	/	          	Divisão.
	%	          	Módulo (resto da divisão).


1.7.3] Relacionais

Operadores relacionais são utilizados para realizar comparações entre valores ou expressões, resultando sempre um valor boolean (TRUE ou FALSE).

       Comparadores	     Descrição
       ==	                     Igual. Resulta (TRUE) se expressões forem iguais.
       ===	                     Idêntico. TRUE se iguais e mesmo tipo.
       != ou <>	             Diferente. TRUE se forem diferentes.
       <	                     Menor.
       >	                     Maior que.
       <=	                     Menor ou igual.
       >=	                     Maior ou igual.


Veja a seguir alguns testes lógicos e seus respectivos resultados. No primeiro caso, vemos a utilização errada do operador de atribuição “=” para realizar uma comparação: o operador sempre retorna o valor atribuído.
	<?
	if ($a = 5)
	{
	   echo 'essa operação atribui 5 à variável $a e retorna verdadeiro';
	}
	?>


1.7.4] Lógicos

Operadores lógicos são utilizados para combinar expressões lógicas entre si, agrupando testes condicionais.

     Operador	         Descrição
     ($a and $b) 	  	 E: TRUE se tanto $a quanto $b forem verdadeiros.
     ($a or $b) 	  	 OU: TRUE se $a ou $b forem verdadeiros.
     ($a xor $b) 	  	 XOR: TRUE se $a ou $b forem verdadeiros, exclusivo.
     (! $a) 	          	 NOT: TRUE se $a for FALSE.
     ($a && $b) 	  	 E: TRUE se tanto $a quanto $b forem verdadeiros.
     ($a || $b) 	  	 OU: TRUE se $a ou $b forem verdadeiros.
     Observação: or e and têm precedência maior que && ou ||.


No programa a seguir, se as variáveis $vai_chover e $esta_frio forem verdadeiras ao mesmo tempo, será impresso no console “Não vou sair de casa”.

	<?
	$vai_chover = TRUE;
	$esta_frio = TRUE;
	if ($vai_chover and $esta_frio)
	{
	   echo "Não vou sair de casa";
	}
	?>
1.8] Estruturas de Controle

1.8.1] IF

O IF é uma estrutura de controle que introduz um desvio condicional, ou seja, um desvio na execução natural do programa. Caso a condição dada pela expressão seja satisfeita, então serão executadas as instruções do bloco de comandos. Caso a condição não seja satisfeita, o bloco de comandos será simplesmente ignorado. O comando IF pode ser lido como “SE (expressão) ENTÃO { comandos... }”.

ELSE é utilizado para indicar um novo bloco de comandos delimitado por { }, caso a condição do IF não seja satisfeita. Pode ser lido como “caso contrário” A utilização do ELSE é opcional.

	<?
	$a = 1;
	if ($a==5)
	{

		   echo "é igual";
	}
	else
	{
		   echo "não é igual";
	}
	?>


1.8.2] While

While é uma estrutura de controle que estabelece um laço de repetição. Semelhante ao IF possui uma condição, na qual repete um determinado bloco enquanto a condição for verdadeira.

	<?
	$a = 1;
	while ($a < 5)
	{
		   print $a;
		   $a ++;
	}
	?>


1.8.3] For

For é uma estrutura de controle parecida com While, na qual repete um bloco por um determinado periodo de vezes.

	<?
	for ($i = 1; $i <= 10; $i++)
	{
	   print $i;
	}
	?>


1.8.4] Switch

O comando Switch é muito similar ao IF, a diferença é que possibilita fazer diversos testes, executando ações diferentes.

	<?
	$i = 1;
	switch ($i)
	{
	   case 0:
		      print "i é igual a 0";
		      break;
	   case 1:
		      print "i é igual a 1";
		      break;
	   case 2:
		      print "i é igual a 2";
		      break;
	   default:
		      print "i não é igual a 0, 1 ou 2";
	}
	?>


1.8.5] Foreach

O foreach é um laço de repetição para iterações em arrays ou matrizes. É um FOR simplificado que decompõe um vetor ou matriz em cada um de seus elementos por meio de sua cláusula AS.

	<?
	$fruta = array("Abacate", "Abacaxi", "Ameixa", "Amora");
	foreach ($fruta as $valor)
	{
		print "$valor -";
	}

	// Resultado: Abacate - Abacaxi - Ameixa - Amora
	?>


1.9] Requisição de Arquivos

Em linguagens de script como o PHP, freqüentemente precisamos incluir dentro de nossos programas outros arquivos com definições de funções, constantes, configura- ções, ou mesmo carregar um arquivo contendo a definição de uma classe. Para atingir este objetivo no PHP, podemos fazer uso de um dos seguintes comandos:

1.9.1] Include

O comando include, inclui um determinado arquivo, executando seus códigos como se estivesse no programa principal. Caso o arquivo não exista, aparecerá um warning mas o programa continua sua execução.

	<?

	/*
	  * Arquivo quadrado.php
	  * função quadrado
	  * retorna o quadrado de um número
	*/
	function quadrado($numero)
	{
		    return $numero * $numero;
	}
	?>


	<?
	// Arquivo teste.php
	// carrega arquivo com a função necessária
	include 'biblioteca.php';
	// imprime o quadrado do número 4
	echo quadrado(4); // Resultado: 16
	?>


1.9.2] Require

Require é como o Include, a única diferença é que se o arquivo não existir, ele produz um erro fatal, parando a execução de todo programa. Também temos os comandos include_once e require_once - Fazem a mesma coisa que include e require porém só inclui o arquivo se ele não tiver sido incluido anteriormente.

2.0] Funções

Uma função é um pedaço de código com um objetivo específico, encapsulado sob uma estrutura única que recebe um conjunto de parâmetros e retorna um dado. Uma função é declarada uma única vez, mas pode ser utilizada diversas vezes. É uma das estruturas mais básicas para prover reusabilidade.

2.1.1] Criando uma Função

Para declararmos uma função, devemos utilizar o operador function, seguido do nome que desejamos dar a função e atribuindo a opção de parametros separados por vírgulas. No final utilizamos return para retornar o resultado da função.

function quadrado($numero)
{
	    return $numero * $numero;
}


echo quadrado(4); ?>


2.1.2] Variáveis globais

Ao declarmos variáveis dentro de funções, elas tornam-se a ser locais, não permitindo acesso fora da função. Caso desejar acessar essas variáveis fora da função deve-se declara-la como global.

2.1.3] Recursão

Podemos fazer uma chamada de função recursiva, fazendo ela chamar ela mesma diversas vezes.

	<?
	function Fatorial($numero)
	{
		   if ($numero == 1)
			      return $numero;
		   else
			      return $numero * Fatorial($numero -1);
	}
	echo Fatorial(5); // Resultado: 120
	?>


2.2] Manipulando Arquivos e Diretórios

A seguir veremos diversas funções do PHP para manipular arquivos e diretórios, leitura, escrita e fechamento.

2.2.1] Fopen

A função nativa do PHP fopen, abre um arquivo e retorna um identificador.

	<?
	$fp = fopen ("/home/xalexandre/arquivo.txt", "w");
	?>


Podemos utilizar feof para testar se um determinado identificador criado por fopen está no final do arquivo. Com a função fgets efetuamos a leitura linha por linha de um arquivo, até que fclose fecha a abertura do arquivo. Observe o exemplo:

	<?
	$fd = fopen ("/home/xalexandre/arquivo.txt", "r");
	while (!feof ($fd))
	{
		   // lê uma linha do arquivo
		   $buffer = fgets($fd, 4096);
		   // imprime a linha.
		   echo $buffer;
	}
	fclose ($fd);
	?>


2.2.2] Fwrite

A função fwrite grava um determinado conteúdo apontado pelo identificador de fopen.

	<?
	// abre o arquivo
	$fp = fopen ("/home/xalexandre/arquivo.txt", "w");
	// escreve no arquivo
	fwrite ($fp, "linha 1\n");
	fwrite ($fp, "linha 2\n");
	fwrite ($fp, "linha 3\n");
	// fecha o arquivo
	fclose ($fp);
	?>


2.2.3] File

A função file é bastante semelhante a fopen, a diferença é que retorna um array com todo conteúdo de um arquivo, sendo que cada posição do array é uma linha do arquivo.

	<?
	// lê o arquivo para o array $arquivo
	$arquivo = file ("/home/xalexandre/arquivo.txt");
	// exibe o conteúdo
	echo $arquivo[0]; // Resultado: linha 1
	echo $arquivo[1]; // Resultado: linha 2
	echo $arquivo[2]; // Resultado: linha 3
	?>


2.2.4] Realiza a copia exata de um determinado arquivo para outro local/nome.

	<?
	$origem = "/home/xalexandre/arquivo.txt";
	$destino = "/home/xalexandre/arquivo2.txt";
	if (copy($origem, $destino))
	{
		   echo "Cópia efetuada";
	}
	else
	{
		   echo "Cópia não efetuada";
	}
	?>


2.2.5] Unlink

A função unlink apaga um determinado arquivo.

	<?
	$arquivo = "/home/xalexandre/arquivo2.txt";
	if (unlink($arquivo))
	{
		   echo "Arquivo apagado";
	}
	else
	{
		   echo "Arquivo não apagado";
	}
	//resultado: Arquivo apagado
	?>


2.2.6] File_exists

A função file_exists verifica se um determinado arquivo ou diretório existe.

	<?
	$arquivo   = '/home/xalexandre/arquivo2.txt';
	if (file_exists($arquivo))
	{
		   echo "Arquivo existente";
	}
	else
	{
		   echo "Arquivo não existente";
	}
	//resultado: Arquivo não existe
	?>


2.2.7] mkdir

mkdir cria um diretório.

	<?
	$dir = '/tmp/diretorio';
	if (mkdir($dir, 0777))
	{
		   echo "$dir criado com sucesso";
	}
	else
	{
		   echo "$dir não criado";
	}

	//Resultado: /tmp/diretorio criado com sucesso
	?>


Por hoje é isso!
Logo logo chegaremos a nosso objetivo: Orientar Objetos! Aguardem!
Voltaremos...

 

Comentários

1. Jurandi - 05/07/2010 @ 16:38:54 | E-mail
Achei muito bom estes exercicios, pode me responder um exercicio 1. Faça uma rotina em PHP que receba como parâmetro um numero e exiba o fatorial deste numero? Muito obrigado
2. Jurandi - 05/07/2010 @ 16:39:01 | E-mail
Achei muito bom estes exercicios, pode me responder um exercicio 1. Faça uma rotina em PHP que receba como parâmetro um numero e exiba o fatorial deste numero? Muito obrigado
3. ALexandre - 05/07/2010 @ 19:31:58 | E-mail | Site
Olá! @Jurandi Veja o ítem 2.1.3 deste post. []'s

 


Captcha


 

Submarino.com.br