sexta-feira, 23 de novembro de 2012

Aula 23/11 Include e Require

Olá,

Hoje a aula de PHP será das mais simples, aprenderemos um conceito básico de programação em PHP e que ajuda muito quando se precisa criar um site grande, com várias páginas.
Nós vamos aprender a reaproveitar "pedaços" de código PHP para montar nossas páginas, ou seja, coisas que repetem em muitas páginas só precisarão ser escritos uma única vez.

Mas antes de continuar vamos recapitular rapidamente os conteúdos das aulas anteriores:

  • Delimitar o espaço do php com <?php e ?>
  • Gerar textos na página com o echo "texto qualquer";
  • Criar variáveis com $variavel = "conteudo";
  • Imprimir variáveis com echo $variavel;
  • Receber informações de outra página com $_GET["campo"] e $_POST["campo"];
  • Utilizar "arrays" para agrupar informações iguais em uma única variável.

Bom, agora dando sequência aos aprendizados, vamos aprender o conceito de reaproveitamento de funções e arquivos do PHP.

Imagine o cenário:
Temos um site com 10 páginas, de diversos conteúdos, mas todas elas tem um menu principal, que dá acesso as demais páginas.

O código do menu é descrito abaixo:
  echo "<p>";
  echo "<a href='index.php'>Inicial</a> -";
  echo "<a href='alunos.php'>Alunos</a> -";
  echo "<a href='escola.php'>Escola</a> -";
  echo "<a href='cursos.php'>Cursos</a> -";
  echo "<a href='ajuda.php'>Ajuda</a>";
  echo "</p>";

Pronto, agora para que esse código funcione em todas as páginas, eu teria que escreve-lo em todos os arquivos .php do meu site certo? Errado! Utilizando a propriedade "include" podemos resolver isso.

Include
O comando include permite que você adicione à sua página atual o conteúdo vindo de outro arquivo de seu site.
Para testar na prática vamos salvar o html que vimos no exemplo acima em um arquivo chamado "menu.php" ok?
Agora com o arquivo já salvo em sua pasta, observe o exemplo abaixo:
<html>
<body>
<h1>Bem vindo!</h1>
<p>Esta é a página principal do site</p>
<?php
  include "menu.php";
?>
</body>
</html>

Salve este arquivo como "index.php" na mesma pasta do anterior e execute pelo EasyPHP.
Note que logo abaixo do título da página e da descrição vai aparecer o menu que haviamos criados no arquivo menu.php. Agora podemos utilizar este include em todas as páginas de nosso site.

Require
O comando require faz quase a mesma coisa que o include, porém este não é utilizado para unir pedaços de códigos, e sim para fornecer funções úteis.
Vamos imaginar que nosso código de exemplo do menu fosse o seguinte:
function criaMenu() {
  echo "<p>";
  echo "<a href='index.php'>Inicial</a> -";
  echo "<a href='alunos.php'>Alunos</a> -";
  echo "<a href='escola.php'>Escola</a> -";
  echo "<a href='cursos.php'>Cursos</a> -";
  echo "<a href='ajuda.php'>Ajuda</a>";
  echo "</p>";



Note a diferença: agora colocamos o menu dentro de uma função reaproveitável chamada criaMenu().
Então em nossa página oficial, nós não usamos o include, nesse caso colocamos o require no começo do código e no local de nosso menu apenas chamamos a função certa. Veja:
<?php
  require "menu.php";
?><html>
<body>
<h1>Bem vindo!</h1>
<p>Esta é a página principal do site</p>
<?php
  criaMenu();
?>
</body>
</html>

sexta-feira, 16 de novembro de 2012

Aula 16/11 Utilizando arrays

Olá,

Na aula de hoje, dando continuidade ao nosso curso de PHP iremos aprender um pouco sobre arrays, mas antes de entrar em detalhes vamos dar uma relembrada nos conteúdos apresentados nas aulas passadas?

Aprendemos de PHP até aqui:

  • Delimitar o espaço do php com <?php e ?>
  • Gerar textos na página com o echo "texto qualquer";
  • Criar variáveis com $variavel = "conteudo";
  • Imprimir variáveis com echo $variavel;
  • Receber informações de outra página com $_GET["campo"] e $_POST["campo"];

Então já aprendemos a criar variáveis, que são espaços que armazenam informações para nós, agora vamos aprender um novo tipo de variável: os arrays.

Arrays
Você já teve aula de Matrizes na escola? Nas aulas de matemática do ensino fundamental nós aprendemos a criar matrizes numéricas [2,4; 5,6; 7,0]. Quem se lembra desse assunto vai se familiarizar com os arrays.
Organizando diversas varáveis do mesmo tipo de forma: imagine que você precisa criar variáveis para armazenar informações sobre o a idade de cada um dos alunos da sala de aula, normalmente você teria que criar um número enorme de variáveis né, algo como:
$idade_joao = 28;
$idade_pedro = 13;
$idade_jose = 15;

E por aí vai, não dá pra saber quantas seriam necessárias, pois a quantidade de alunos muda de aula para aula. Então, o array, que podemos traduzir como "vetor" ou "matriz" facilita a nossa vida neste sentido, ou seja, ele permite que possamos guardar a idade de todos os alunos em uma única variável!
Não é fantástico? Criando uma única variável podemos ter quantos alunos for necessário e todas as suas idades.

Tudo em uma única variável
Então chega de teoria, vamos ver como incluir todas as idades dos alunos em uma única variável do tipo array, há duas formas de fazer, vou demonstrar as duas e depois entro nas explicações:

Forma 1:
$idades = array("João"=>28,"Pedro"=>13,"José"=>15);

Forma 2:
$idades = array();
$idades["João"] = 28;
$idades["Pedro"] = 13;
$idades["José"] = 15;

Deu pra sacar? Na primeira forma, nós usamos um único comando para determinar quem são nossos alunos e sua respectiva idade. Na segunda forma, nós fazemos linha a linha, incluindo um aluno de cada vez.
Dependendo da situação ou do programador, uma forma pode ser mais preferível do que outra.

Visualizando as informações de um array:
Para visualizar na página os dados de um array, inicialmente, vamos utilizar uma função chamada print_r().
Exemplo:
<?php
  $idades array("João"=>28,"Pedro"=>13,"José"=>15);
  print_r($idades);
?>

Outras formas legais de criar um array:
Sem os nomes, apenas os valores:
$idades = array(28,13,15);
(Neste caso, o índice do array é numérico, começando no zero).

$idades = array();
$idades[] = 28;
$idades[] = 13;
$idades[] = 15;
Esta forma também elimina os nomes mantendo um índice numérico automático.

$idades array();
$idades[2] = 28;
$idades[3] = 13;
$idades[4] = 15;
Neste exemplo por sua vez, forçamos um índice numérico começando pelo número 2.

sexta-feira, 9 de novembro de 2012

Aula 09/11 Criando Funções


Olá,

Nas últimas duas aulas iniciamos nosso aprendizado da linguagem PHP, aprendemos como utilizar a sintaxe PHP em meio ao nosso HTML, como imprimir conteúdos, utilizar variáveis e transferir informações de outra página com get e post.
Vamos dar uma pequena revisada, resumindo nosso caminho até aqui:

  • Delimitar o espaço do php com <?php e ?>
  • Gerar textos na página com o echo "texto qualquer";
  • Criar variáveis com $variavel = "conteudo";
  • Imprimir variáveis com echo $variavel;
  • Receber informações de outra página com $_GET["campo"] e $_POST["campo"];

Agora vamos dar um passo a mais em nosso aprendizado para melhorar nossos sites com PHP.
Na aula de hoje iremos aprender como criar funções, e como utilizá-las para resolver problemas propostos.
Também vamos conhecer algumas funções prontas do PHP e aprender como pesquisar as funções existentes na internet.

Função
Funções são blocos de código criados para serem reaproveitados em nosso site, estes pequenos espaços podem conter qualquer programação em PHP e ser chamada várias vezes, conforme necessário.
Algumas funções são criadas para resolver problemas específicos, como uma fórmula ou um tipo de cálculo.

Para criar uma função para usar a palavra function seguido do nome da função e de parênteses "()". O espaço destinado ao código deve ser delimitado com chaves "{}".
Veja o exemplo:
function dizMeuNome() {
  echo "Willian Soares";
}

Para chamar essa função, fazendo ela funcionar basta usarmos o seu nome, digitando dizMeuNome(); em nosso código.

Note: a palavra function criando a função, o nome da função (segue a mesma regra do nome de variáveis, ou seja, nada de caracteres especiais), os parênteses e as chaves.
Dentro das chaves, vemos o nosso código, no caso o comando echo.
Simples? Vamos complicar um pouco, nós podemos passar informações para nossa função, para que ela faça algo com isto, e então apresente um resultado.
Chamamos de "parâmetros" os dados que passamos para uma função, estes parâmetros devem ser declarados como variáveis e separados por vírgulas.

Exemplo de como uma função imprimir o resultado de uma conta de multiplicação:

function vezes($valor1, $valor2) {
  echo ($valor1 * $valor2);
}

Bacana né? Para fazê-la funcionar podemos fazer como no exemplo abaixo:
vezes(25, 10);
Isto deve imprimir o resultado "250".

Nós podemos usar o resultado de uma função sem precisar imprimir isto, ou seja, a função apenas devolve para uma variável o resultado de seu cálculo. E então o programador usa esse resultado como achar melhor, vamos melhorar nosso exemplo:
function vezes($valor1, $valor2) {
  return ($valor1 * $valor2)
}

Note que temos uma palavra nova "return". Isto significa retorno, ou seja, nesse momento a função irá retornar seu resultado.
Uma forma de fazer uso da função desta forma pode ser vista abaixo:
$calc = vezes(25, 10);
echo "O resultado de 25 x 10 é " . $calc;

Vamos recapitular alguns pontos importantes sobre funções:

  • Trechos de blocos que podem ser reaproveitados
  • Poder efetuar e devolver resultados de cálculos
  • Seu nome deve possuir letras ou números ou "_" apenas
  • Entre parenteses podemos declarar parâmetros
  • As chaves delimitam o espaço de nosso bloco de código.

Funções do PHP
Da mesma maneira que usamos funções que criamos, podemos usar funções já existentes no PHP, e são miliares!
Vou listar aqui abaixo algumas funções interessantes para manipulação de texto:
strlen(): diz a quantidade de caracteres de um texto.
strtolower(): transforma o texto em minúsculo.
strtoupper(): transforma o texto em maiúsculo.

Vamos testar? Veja um exemplo de como aplicar estas funções no código.

$nome = "Willian Soares";
echo $nome . " possui " . strlen($nome) . " letras<p>";
echo "<p>Em minusculo: " . strtolower($nome);
echo "<p>Em maiusculo: " strtoupper($nome);


Bacana né? Existem alguns sites aonde podemos pesquisar muitas funções legais do php:
Acessem:
http://www.php.net/manual/pt_BR/book.strings.php