Tutoriais de programação

De Wiki-II

Aqui você encontra links e mini-tutoriais que vão lhe auxiliar a programar em diversas linguagens.

Se o que você estiver proucurando não estiver aqui, contribua publicando um artigo.

Tabela de conteúdo

Php

Java Orientada a Objetos

ASP active server pages

Java Script Jsp

MySql

Dicas

--

Sintaxe do PHP

A sintaxe do PHP é uma miscelânea de várias linguagens de programação consagradas, como C e Java. Para quem já tem conhecimentos em alguma dessas linguagens, o entendimento desse capítulo torna-se mais fácil. Abaixo segue uma pequena introdução sobre o básico da sintaxe do PHP.

Apóstrofes e aspas No PHP, um valor pode ser atribuído à uma string usando-se aspas ("string") ou apóstrofes ('string'). Caso só existam caracteres normais dentro da string, o efeito será o exatamente o mesmo, independentemente do uso de aspas ou apóstrofes. Porém, quando se usa variáveis dentro de strings, o efeito é completamente diferente. As aspas permitem que você insira o valor de variáveis dentro de strings sem precisar fazer concatenação, já as apóstrofes não. Perceba:


<?php

   $nome = 'João';
   echo "Olá, meu nome é $nome !"; // O resultado é 'Olá, meu nome é João !'
   
   echo 'Olá, meu nome é $nome !'; // O resultado é 'Olá, meu nome é $nome !'
   
   echo 'Olá, meu nome é '. $nome . ' !'; // O resultado é 'Olá, meu nome é João !'

?>

Dica echo: é a principal função para exibir dados no arquivo de saída (o HTML, no caso).

Operadores Operadores Aritméticos Exemplo Nome Resultado $a + b Adição Soma de $a e $b $a - $b Subtração Diferença entre $a e $b $a * $b Multiplicação Produto de $a e $b $a / $b Divisão Quociente de $a e $b $a % $b Módulo Resto da divisão de $a e $b

Operadores de Atribuição O operador básico de atribuição é o "=", que significa "recebe" e não "igual", como pode parecer.


<?php

   $a = '3';
   
   echo $a // retorna 3 

?>

É importante mencionar que existem também os operadores combinados, que são o operador de atribuição mais um operador aritmético.


<?php

   $a =+ 5; // é a mesma coisa que $a = $a + 5;

?>

Operadores de comparação Exemplo Nome Resultado $a == $b Igual Verdadeiro se $a é igual a $b $a === $b Idêntico Verdadeiro se $a é igual a $b e eles são do mesmo tipo (PHP4) $a != $b Diferente Verdadeiro se $a é diferente de $b $a <> $b Diferente Verdadeiro se $a é diferente de $b $a !== $b Não idêntico Verdadeiro se $a é diferente de $b, ou se eles não são do mesmo tipo (PHP4) $a < $b Menor Verdadeiro se $a é menor que $b $a > $b Maior Verdadeiro se $a é maior que $b $a <= $b Menor ou igual Verdadeiro se $a é menor ou igual a $b $a >= $b Maior ou igual Verdadeiro se $a é maior ou igual a $b

Operadores Lógicos Exemplo Nome Resultado $a and $b e Verdadeiro quando $a e $b são verdadeiros $a or $b ou Verdadeiro se $a ou $b são verdadeiros $a xor $b xor Verdadeiro se $a ou $b são verdadeiros, mas não ambos !$a não Verdadeiro se $a é falso $a && $b e Verdadeiro quando $a e $b são verdadeiros $a || $b ou Verdadeiro se $a ou $b são verdadeiros

Operadores de string Existem apenas 2 operadores de string. O de concatenação (".") e o de atribuição de concatenação (".="). Eles funcionam assim:


<?php

   $a = 'Meu nome é ';
   $a .= 'José'; // a mesma coisa que $a = $a . 'José';

?>

Operadores de Arrays Exemplo Nome Resultado $a + $b União União de $a e $b $a == $b Igualdade Verdadeiro se $a e $b tem os mesmos elementos $a === $b Identidade Verdadeiro se $a e $b tem os mesmos elementos e eles estão na mesma ordem $a != $b Desigualdade Verdadeiro se $a e $b não tiverem os mesmos elementos $a <> $b Desigualdade Verdadeiro se $a e $b não tiverem os mesmos elementos $a !== $b Não idêntico Verdadeiro se $a e $b não possuem os mesmos elementos na mesma ordem

Variáveis Como a maioria das linguagens de scripts de servidor, o PHP não é fortemente tipado; ou seja, as variáveis não possuem tipos definidos e restritos, como ocorre em Pascal, Java, Delphi etc. Também não é preciso fazer a declaração das variáveis; assim que atribuímos algum valor a uma variável, ela passa a existir automaticamente. Por um lado isso é bom, pois você não precisa ficar se preocupando com declarar variáveis e atribuir tipos a elas. Por outro lado é ruim pois você pode "perder o controle" das variáveis dentro de seu script (caso elas sejam muitas); além disso, perde-se bastante performance com linguagens não tipadas, pois o parser (ou interpretador) precisa perder tempo para "descobrir" qual o tipo da variável.

Também é importante lembar que o PHP é case-sensitive, ou seja, ele distingüe letras maiúsculas de letras minúsculas. Poranto, $nome é diferente de $Nome


<?php

   $carro = 'Fiat Stilo';
   $Carro = 'VW Golf';
   
   echo $carro; // retorna 'Fiat Stilo'
   echo $Carro; // retorna 'VW Golf'

?>

Arrays Arrays são os conhecidos vetores. Eles guardam várias informações em apenas uma variável. Para indexar um array no PHP, usamos as chaves [ ]. Como em C, os arrays númericos tem o zero como o primeiro íncice. Dessa maneira, temos algo assim:


<?php

   $frutas = array('maçã','banana','abacate');
   
   echo $frutas[1]; // retorna 'banana'

?>

No PHP existem dois tipos de arrays, os numéricos e os associativos. Os numéricos possuem números inteiros como chaves (índice); já os associativos possuem strings como chaves.


<?php

   // Array numérico
   $frutas = array('maçã','banana','abacate');
   echo $frutas[2]; // retorna 'abacate'
   
   // Array associativo
   $frutas = array("a" =>; 'maça', "b" => 'banana', "c" => 'abacate');
   echo $frutas['a']; // retorna 'maçã'
   
   // Nada nos impede de misturar os dois tipos
   $ frutas = array('maçã', "preferida" => 'banana');
   echo $frutas['preferida']; // retorna 'banana'
   
   // Array dentro de array
   $frutas = array("vermelhas" => array('morango','cereja',framboesa));
   echo $frutas['vermelhas'][0]; // retorna 'morango'

?>

Estruturas de controle Resumo

Em um programa de computador, existe o fluxo do código fonte, que é o modo como o computador executa determinadas cadeias de comandos, de acordo com teste binários e coisas do tipo. Estruturas de controle servem para controlar esse fluxo, porém, no nosso caso, não exatamente em um programa e sim em seu site PHP. Abaixo segue uma breve explicação sobre a sintaxe das estruturas de controle que encontramos no PHP:

if

        if ($expressao) { 
          comandos 
        }
       O fluxo do programa somente executa os comandos que estão dentro do if caso o resultado da $expressao seja verdadeiro (true). 


<?php

   if ($a == $b) {
    echo 'A é igual a B';
   }

?>

else

        if ($expressao) { 
          comandos 
          }
        else {
         outros comandos
         }
     Caso o resultado de $expressao seja falso, então o fluxo entra no else e executa os "outros comandos". 


<?php

   if ($a == $b) {
    echo 'A é igual a B';
   }
   else {
    echo 'A é diferente de B';
   }

?>

elseif

        if ($expressao) { 
          comandos 
          }
        elseif ($outros_expressao) {
         outros comandos
         }
     Caso uma expressão de um if seja falsa, você pode fazer outra comparação antes de entrar nos comandos do else. 


<?php

   if ($a > $b) {
    echo "A é maior que B";
   }
   elseif ($a == $b) {
    echo "A é igual a B";
   }
   else {
    echo "A é menor que B";
   }

?>


while

        while ($expressao) { 
          comandos 
          }
     While, do inglês, significa "enquanto". A estrutura de controle while executa os comandos nela aninhados enquanto uma expressão for veradeira. 


<?php

   $a = 1;
   while ($a <= 10) {
     echo $a;
     $a++; // mesma coisa que $a = $a + 1
     // Os camandos que estão dentro do while serão executados 
     // enquanto a variável $a for menor ou igual a 10. 
     // No exemplo acima, serão exibidos todos os números inteiros
     // até o número 10. Assim que $a for maior que 10, o fluxo
     // de execução sai do while.
   }

?>

do...while

         do { 
          comandos 
          } while ($expressao)
     A estrutura do...while faz a mesma coisa que o while, porém a verificação da $expressao é feita após os comandos e não antes, garantindo que o fluxo de execução entre no while ao menos uma vez, mesmo se na primeira repetição o resultado da $expressao seja falso. 


<?php

   $a = 5;
   do {
     echo $a;
   } while ($a > 5);

?>

for

        for ($expr1; $expr2; expr3) { 
          comandos 
          }
     As estruturas de for são um pouco mais complicadas que as outras (funcionam da mesma maneira que na linguagem C). A $expr1 é executada apenas na primeira vez da repetição, por isso contém o primeiro valor da chave de comparação, normalmente. A $expr2 é executada em toda repetição e caso o resultado seja false, o fluxo sai do for. A $expr3 é executada ao final de toda repetição. 


<?php

   for ($a = 1;$a < 10; $a++) {
     echo $a;
   } 
   // Quando o fluxo de execução entra no for acima, a variável 
   // $a recebe o valor 1. Enquanto $a for menor que 10, o 
   // fluxo continua dentro do for (essa verificação é executada
   // sempre no começo da repetição). Quando os comandos aninhados
   // ao for acabam, a variável $a recebe $a + 1, devido a
   // terceira expressão da estrutura for ($a++).

?>


foreach

         foreach ($array as $valor) { 
           comandos 
          } 
         foreach ($array as $chave => $valor) { 
           comandos 
          }
     
     O foreach é uma maneira fácil de andar dentro de um array. O que ele faz é repetir comandos enquanto existirem elementos dentro de um array. Existem duas sintaxes para usar o foreach, cada uma gerando um resultado diferente. 


<?php

   $frutas = array('banana','maça','mamão','manga');
   
   // O fluxo de execução executará repetirá os comandos aninhados ao
   // foreach até acabarem os valores do array $frutas. A cada 
   // repetição o valor atual é atribuído a variável $valor
   foreach($frutas as $valor) {
     echo $valor; // é exibida um dos valores de $frutas a cada repetição
   } 
   
   
   // Essa sintaxe do foreach faz a mesma coisa que a sintaxe acima,
   // porém ela atribui o valor da chava atual à variavel $chave 
   // (além do valor atual à variável $valor).
   foreach($frutas as $chave => $valor) {
     echo $chave . '-' . $valor; // retorna algo como '2 - mamão' a cada repetição
   }

?>

switch

         switch ($expressao) { 
           case x :
           comandos;
           break;
           case y :
           comandos;
           break;
           ...
          } 
      
     Um switch testa vários valores para uma mesma $expressao e executa comandos de acordo com esses valores. Substitui o uso de vários ifs. 


<?php

   // Note que o break faz parte da sintaxe e é necessário para que o
   // switch funcione como deve.
   switch ($a) {
   case 0 :
    echo 'a é igual a zero';
    break;
   case 1 : 
    echo 'a é igual a um';
    break;
   case 2 :
    echo 'a é igual a dois'
    break;
   }
   
   // O switch acima é equivalente a essa cadeia de ifs
   if ($a == 0)
    echo 'a é igual a zero';
   elseif($a == 1)
    echo 'a é igual a um';
   elseif($a == 2)
    echo 'a é igual a dois'

?>


Dica Nota: switchs são mais rápidos que vários ifs aninhados.

break O comando break pára a execução do for,foreach,while,do...while ou switch atual.


<?php

   while ($a < 10) {
     $a = $a * $b;
     
     if ($a <= -1) 
      break;
   }

?>

Funções Resumo

Como em qualquer outra linguagem de programação, o PHP possibilita a criação de funções (e procedimentos, caso você esteja familiarizado com Pascal). As funções são muito úteis para a vida do programador, pois ajudam a diminuir a repetição desnecessária de código e também a tornar o código mais fácil de entender.

Criando funções A sintaxe de uma função no PHP é muito simples.

       function nome_da_função (parâmetros da função) {    }
       Escopo

Vale lembrar que uma função só tem acesso às variáveis criadas dentro dela, às variáveis passadas por parâmetro e às variáveis superglobais. Caso você queira usar uma variável global que foi criada dentro de seu script, basta usar a palavra global antes do nome da variável.


<?php

   function teste() {
    global $a; // chama a global $a, criada fora da função
    echo $a; //   retorna 'Olá !!!'
    
   }
   
   $a = 'Olá !!!';
   teste();  // Executa a função teste()

?>


Passando por parâmetro Para evitar o uso de variáveis globais, podemos passar por parâmetro aquelas variáveis que precisaremos usar dentro da função. Assim:


<?php

   function teste($a) { 
    echo $a; //   retorna 'Olá !!!'
    
   }
       
   $a = 'Olá !!!';
   teste($a);  

?>


Passagem de parâmetro por referência Para passar um parâmetro por referência, usamos o caracter & antes do recebimento do mesmo. Quando a passagem de parâmetro é feita por referência, qualquer alteração que seja feita dentro da função é refletida fora da função, na variável original.


<?php

   function teste(&$b) { 
    $b = 'Tchau... :-('; 
   }
       
   $a = 'Olá !!!';
   echo $a; // Retorna 'Olá !!!'
   teste($a);  
   echo $a; // Retorna 'Tchau... :-('

?>


Retornando valores Assim como uma variável qualquer não pode ser acessada por uma função (a não ser pelas exceções citadas acima), o contrário também acontece; variáveis de dentro da função só podem ser acessadas pela função. Caso queiramos utilizar valores de uma variável que foi criada dentro de uma função, preicsamos usar a função return.


<?php

   function teste() {
    $a = 7;
   }
   
   teste();  
   
   echo $a; // Não retorna nada
   

?>


<?php

   function teste() {
    $a = 7;
    return $a;
   }
   
   $a = teste();  
   
   echo $a; // Retorna 7
   

?>

Ferramentas pessoais