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
?>