Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Curso básico de PHP

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Curso básico de PHP

    Este tutorial é fruto da FALTA DE INTERNET. É um problema grave e sério, que deve ser medicado imediatamente, podendo ocasionar delírios, loucura, gastos financeiros, problemas com os donos das lan-houses que foram afetadas pelo comando time do DOS, além de outros. É trágico!

    O PHP é uma linguagem de script que age no lado do servidor. Sendo assim, pode ser chamado de server-side.
    Ele é embutido no HTML. Porém, para executá-lo, é necessário instalar o interpretador, que pode ser baixado gratuitamente no Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... Baixe também o Apache, o nosso servidor HTTP, isto é, para hospedar páginas.
    É uma linguagem de código aberto e desenvolvida por vários programadores de todo o mundo.
    O interessante é que na execução de uma linguagem client-side, como JavaScript, ele tem toda a liberdade de ver o código-fonte. Já, nas linguagens server-side, ele só verá o resultado, em HTML. O código fonte original não será visível, pois será interpretado pelo servidor e terá o resultado entregue ao cliente.
    Seu poder é grande, podendo ser comparado com uma linguagem CGI (como Perl e Python). Porém, é uma linguagem extremamente fácil de ser aprendida e trabalhada.

    Os desenvolvedores do PHP querem que acreditemos que esta sigla quer dizer Hypertext Preprocessor (pré-processador de hipertexto, ou seja, trabalha com o HTML antes de ser visto pelo cliente). Porém, na minha opinião, seu nome real vem de seu primeiro nome. Personal Home Page Tools (PHPT ou PHP/FI), como ficou conhecido no início, era um simples analisador muito limitado, que continha um livro de visitas, um contador de visitas e algumas outras coisas. Foi escrito entre 1994 e 1995 por Rasmus Lerdof que, em sua segunda versão, juntou seu programa com o Form Interpreter e começou a suportar mSQL (não é MySQL). Assim, o PHP/FI cresceu e desenvolvedores de várias partes do mundo contribuíram com seu código.
    Falando estimativamente em números, no fim de 1996 (quando eu tinha 4 meses de idade) o PHP/FI era utilizado por pelo menos 15.000 sites. Sete meses depois, este número subiu e ultrapassou os 50 mil. Nesta época, modificações foram feitas e o interpretador foi reescrito por Guitmans Andi e Zeev Suraski, lançando a terceira versão do oficial PHP.
    Hoje é uma linguagem muito bem suportada, possuindo um manual que pode ser acessado a qualquer hora. Para pesquisar sobre uma função, basta digitar:
    Código:
    http://br.php.net/funcao
    Por exemplo:
    Código:
    http://br.php.net/include
    O PHP é utilizado hoje, principalmente, para economizar tempo. Por exemplo, imagine-se fazendo um site somente em HTML onde são escritas matérias. Além de ter que escrever toda uma página em HTML para cada nova matéria e enviá-la ao servidor, se você quisesse modificar o esquema de cores de seu site, teria que modificar página por página. No PHP, isto é facilitado com o uso da função Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... e da função criada por você. Veja este exemplo, onde criamos uma função que pega o título e o texto, informados por cada página, e mostra o resultado final.
    Arquivo template.php
    Código PHP:
    <?php
    function template($titulo$texto) {
    echo 
    "<html>
    <head>
    <title>"
    .$titulo."</title>
    </head>
    <body>
    <font size=\"6\">"
    .$titulo."
    <font size=\"3\">"
    .$texto."
    </font>
    </body>
    </html>"
    ;
    }
    ?>
    Arquivo materia1.php
    Código PHP:
    <?
    include("template.php");
    template("Lorem ipsum""Lorem ipsum dolor sit amet");
    ?>
    Notou o esquema das aspas, que algumas incluem uma barra invertida ("\") antes? Vamos entender o porquê:
    Iniciamos uma string (valor) com aspas duplas ("). Portando, devemos terminar com aspas duplas, também. Mas, se adicionamos aspas duplas no meio da string, o interpretador se confunde, e para ali mesmo, achando que é o final. Assim, usamos a barra invertida ("\") para dizer ao interpretador para que entenda o próximo caractere de modo literal, e não de modo executável. Veja onde podemos inserir este caractere:
    \n - Pular uma linha (para não ter que apertar Enter)
    \t - Tab horizontal
    \\ - Barra invertida
    \$ - Símbolo de dinheiro (qual é o nome deste símbolo, por favor?!)

    Se você apenas colocar "n" ou "t", irá aparecer a letra "n" ou "t". Se adicionar apenas uma barra invertida, ela não aparecerá. Se colocar apenas o símbolo que eu não sei o nome ("$"), o interpretador iá achar que você está pedindo para ele escrever ali o valor de uma variável. Como ela não existe, nada aparecerá.

    Mas isto foi apenas um exemplo. Vamos com calma, indo por partes. Primeiro, é interessante saber que todos os códigos PHP devem estar entre "<?php" e "?>". Mas note que eu utilizei apenas "<?" e "?>" no bloco anterior. Isto apenas economiza 3 caracteres, mas se você achar interessante, ou baixou um script pronto e não quer ficar trocando todos os "<?" por "<?php", basta ir no arquivo de configurações do PHP (chamado php.ini, que fica, geralmente, no mesmo diretório de instalação do PHP) e procurar pela configuração "short_open_tag". Se ela estiver no modo "On", você já pode utilizar esta tag. Se estiver "Off", apenas troque por "On", salve, reinicie o servidor e pronto. Note também que é possível trocar o "<?php"/"<?" e "?>" pelas tags do ASP ("<%" e "%>") e continuar usando o PHP. Isto é mais para usuários em transação de linguagens, mas eu não acho muito útil. Porém, se quiser tentar, fica na configuração "asp_tags" do php.ini. Neste arquivo há muitas configurações interessantes e outras perigosas. Cuidado com o que altera, mantenha um backup deste arquivo inalterado e modifique à vontade, já que a curiosidade só irá ajudá-lo.

    O PHP possui muitas características interessantes. Podemos exemplificar com a interação com outros servidores, criação de imagens GIF, arquivos SWF, PDF (e outros), manipulações de cookies e sessões (uma espécie de cookie server-side), manipulação de servidores remotos, entre outros. Além disso, ele pode ser sua própria calculadora, ainda que você tenha que utilizar fórmulas pesadas. Veremos daqui a pouco.

    Todo script PHP deve estar comentado, para ficar mais fácil encontrar partes que possam ser necessárias o retorno. Você pode escrever da maneira que quiser, mesmo se for pessoal, nos comentários, pois estes não serão exibidos. Veja as três maneiras de escrever um comentário:
    Código PHP:
    <?
    // Comentários simples, geralmente após uma linha de código.

    # Comentários simples, geralmente em sua própria linha.

    /* Comentário de várias linhas.
    Olha só que legal. Isto não será mostrado.
    Nem pelo código-fonte. */

    ?>
    Agora, vejamos alguns exemplos de como serão utilizados os comentários:

    Código PHP:
    <?
    $id 
    $_GET['id']; // aqui eu pego a id da materia

    /* nas proximas linhas eu pego os dados do form */
    $nome $_POST['nome'];
    $email $_POST['email'];

    # aqui eu defino um número qualquer de 2 a 5
    $numero rand(2,5);

    ?>
    Ao comentar, você deverá utilizar uma linguagem que você entenda, não importa se for informal ou não. Deve ser algo pessoal.

    Agora, vamos ver como definimos variáveis. Lembra da aula de matemática, com X? Variáveis são modos de armazenar alguma informação que será futuramente utilizada. Lembrando que variáveis são instantâneas. No fim da execução, elas somem. Se quiser algo mais duradouro, use cookies ou sessões, que trataremos mais abaixo.

    Código PHP:
    <?

    $nick 
    "0KaL";
    $nome_completo "0KaL H4";

    ?<
    Note que antes do nome da variável há este maravilhoso (e lindo) sinal: "$". Após ele, entramos com o nome da variável, seguida de um espaço, um sinal de igual, outro espaço, uma (ou duas) aspas, o valor da variável, terminamos com a mesma quantidade de aspas inseridas antes do valor e um ponto e vírgula. Vale lembrar que não se deve pressionar a tecla de aspas duas vezes (''), mas sim, pressioná-la com o shift ("), ou pressioná-la uma vez ('). É bom lembrar também que a variável $var e $Var são diferentes, já que o PHP, assim como o C, é case-sensitive, isto é, diferencia maiúsculas de minúsculas.

    Se você quer definir ao valor de uma variável o resultado de alguma operação matemática, basta fazer:

    Código PHP:
    <?

    $resultado 
    1+1// note que quando se trata de números ou de operações matemáticas, não utilizamos aspas

    ?>
    Lembra-se do '+', '-', 'X' e ':'? Aqui, estes sinais serão: '+', '-', '*' e '/', como na calculadora do seu celular. Veja outros exemplos para serem usados com o IF().
    == Igual
    === Idêntico
    != Desigual
    < Menor
    > Maior
    <= Menor ou igual
    >= Maior ou igual

    Agora, vejamos nesta operação matemática, onde calculamos 321 + 123 e verificamos, com o IF(), se é o mesmo resultado de 321 - 123. Se for o mesmo, ele dirá "igual". Caso contrário, dirá "desigual". Se o valor for zero, ele dirá "Nota zero.".
    Código PHP:
    <?
    $x 
    321+123;
    $y 321-123;

    if (
    $x==$y) {
     echo 
    "igual";
    }
    elseif (
    $x==0) {
     echo 
    "Nota zero.";
    } else {
     echo 
    "desigual";
    }
    ?>
    Além disso, é interessante observar que para valores com vírgula (2,87), devemos substituir a vírgula com um ponto:
    Código PHP:
    $myvar 2.87// 2,87 
    Para unir o valor de uma variável a outra string (ou variável, basta fechar a string (ou seja, adicionar aspas, se for necessário), adicionar um ponto (".") e completar. Veja um exemplo:
    Código PHP:
    $voce_deve 450.30;
    $nome "Fulano";
    $sobrenome "de Tal";
    $nome_completo $nome $sobrenome;
    echo 
    "Olá, " $nome_completo "!  Você nos deve R$ " $voce_deve
    Claro que você também pode não fazer isso e apenas adicionar o nome da variável no meio da string. Mas assim, você enfrentaria a barra nula, como vimos acima.

    Além das variáveis, temos também um conjunto de variáveis, como vimos em matemática lá na 7ª série. Mas, aqui chamamos de Array. Veja um exemplo simples de Array:
    Código PHP:
    $frutas = Array("maçã""banana""uva""pêra"); 
    Mas, se você tentar dar echo em um array, o PHP nos retornará apenas a palavra Array, para nos avisar que aquilo se trata de array e você não indicou o modo que ele deve exibir os valores. Para resolver este problema, utilizamos a função Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
    Ao criar um simples Array, como no exemplo acima, cada valor recebe um número. Ainda pelo exemplo acima, para mostrar apenas o segundo e o terceiro ítem do Array, fazemos assim:
    Código PHP:
    echo $frutas[1] . $frutas[2]; 
    Mas note uma coisa: Eu disse que mostraria o segundo e o terceiro ítem, mas indiquei o primeiro e o segundo? Na verdade, o primeiro ítem representa o zero ($frutas[0]). Assim, o zero tendo valor literal, o restante também fica com valor diferenciado.
    Há também outras maneiras de criar Arrays de mais de uma dimensão. Veja:
    Código PHP:
    $linguagens = Array(
    [
    'web'] = "php""asp";
    [
    'desktop'] = "delphi""ruby";
    );
    echo 
    $linguagens['web'][0]; // resultado: php 
    Além, claro, de poder simplesmente fazer:
    Código PHP:
    $linguagens = Array(); // colocamos um array vazio
    $linguagens['web'][0] = "php";
    $linguagens['web'][1] = "asp";

    $linguagens['desktop'] = Array("delphi""ruby"); 
    Mas, como faremos para receber um dado de um formulário? Vai depender do método dele. Se você ainda não sabe o que são esses métodos, veja:
    POST: Os dados são enviados pelos HTTP Headers, de forma aparentemente oculta.
    GET: Os dados são enviados pela URL, logo após um "?".
    Ao construir um formulário, na escolha do método, leve em conta a finalidade do mesmo. É óbvio que você não usará GET em formulários de login e senha, mas poderá usar em sistemas de busca.
    Mas, indo direto ao PHP, veja como recebemos o conteúdo de um campo de texto chamado "palavra" de um formulário de método POST:
    Código PHP:
     $myvar $_POST['palavra']; 
    Agora, de um campo de mesmo nome, porém de um formulário de método GET:
    Código PHP:
     $myvar $_GET['palavra']; 
    Para análise, o campo seria assim:
    Código HTML:
     <form method="post ou get" action="nosso_script.php">
    <input type="text" name="palavra"> <!-- Pegamos o dado deste campo -->
    <input type="submit" value="Enviar">
    </form>
    Tudo bem, mas o que fazer com todas essas variáveis? É o que veremos agora. Estudaremos as funções.
    Uma função é um bloco de códigos que deverá ser repetido sempre que chamado, com possíveis modificações. Este bloco de códigos fica entre "{" e "}".
    Uma função pode ter argumentos, dentro de parêntesis, após o nome da mesma. Ao declarar a função, você deve escolher a sintaxe da mesma, dentro dos parêntesis, adicionando um nome a cada variável.
    Vamos ver um exemplo de uma função que verifica se o valor da variável $x é o mesmo da $y e retorna "SIM" ou "NÃO".
    Código PHP:
    function verifica($x$y) {
    if (
    $x==$y) {
    echo 
    "SIM";
    } else {
    echo 
    "NAO";
    }
    }

    // vamos chamar a função para verificar se  ABC é igual ao valor que pegamos do formulário
    $valor $_POST['campo'];
    verifica("ABC"$valor); 
    Simples, não é?
    Também podemos utilizar a função como uma variável. Para isso, trocamos o echo da função acima por return, que fará que a função tenha o valor especificado.
    Código PHP:
    $valor $_POST['campo'];
    if (
    verifica("ABC"$valor)=="SIM") {`
    echo "Certa resposta";
    } else {
    echo "Que pena. Você errou!";

    Mas não se preocupe. Você não terá que desenvolver cada função, uma a uma. O PHP já possui uma extensa biblioteca de funções prontinhas para serem usadas. A documentação completa de todas elas pode ser encontrada no site oficial do PHP. Veremos as mais utilizadas.
    Código PHP:
    # strlen()
    // conta quantos caracteres possui uma string.
    $var strlen("0KaL");
    echo 
    "0KaL possui " $var " caracteres."// 0KaL possui 4 caracteres.

    # ucwords()
    // transforma o primeiro caractere da string em maiusculo
    $var ucwords("eu sei escrever.");
    echo 
    $var// Eu sei escrever.

    # for()
    // faz um trecho de código se repetir mais de uma vez
    for ($i==0$i=100$i++) { // for(começar quando $i for igual a 0; parar quando $i for igual a 100; adicionar +1 ao $i a cada rodada)
    echo "Agora, \$i vale $i,"// Agora, $i vale 1. (depois 2, 3, 4... 99)

    Trabalhando com FTP
    Código PHP:
    // conectamos
    $conectar ftp_connect("ftp.site.com.br");
    // fazemos login
    $login ftp_login($conectar"usuario""senha");
    // desconectar
    ftp_quit($conectar); 
    Trabalhando com arquivos
    A lógica da manipulação de arquivos, na maioria das linguagens (inclusive PHP), consiste em: abrir arquivo > manipular o arquivo > fechar o arquivo. Vamos ver um exemplo na prática:
    Código PHP:
    $arquivo fopen("nomes.txt""w"); // abrir arquivo
    fwrite($arquivo"Fulano"); // manipular arquivo
    fclose($arquivo); // fechar arquivo 
    Note, na abertura, que eu usei um "w". Quer dizer que estou mandando o PHP apagar todo o conteúdo do arquivo antes de começar a escrever. Veja outros modos de abertura:
    r: somente leitura, começando no início do arquivo.
    r+: leitura e escrita, começando no início do arquivo.
    w+: leitura e escrita, apagando todo o conteúdo e começando no inicio do arquivo. Se o arquivo inexiste, será criado.
    a: somente escrita, começando no final do arquivo, tentando criar se houver inexistência.
    a+: leitura e escrita, começando no final do arquivo, tentando criar se houver inexistência.

    Tratamento de erros
    O PHP possui um bom sistema de tratamento de erros (debug), que acompanha a execução do script e nota os erros, informando ao programador. Há 4 tipos de erros e avisos:
    1: Erros de funções (sintaxe, por exemplo).
    2: Avisos normais (de segurança, por exemplo).
    4: Erros de interpretação (no interpretador, se você fez alguma mudança, já que é open-source, pode haver).
    8: Avisos não tão importantes.

    O padrão é o nível 7, ou seja, 1 + 2 + 4. Porém, você pode modificá-lo com a função error_reporting(0), trocando o 0 pelo nível desejado. Caso você permaneça com o zero, nenhuma mensagem de erro será exibida, mas é gerada uma variável chamada $php_errormsg contendo o último erro gerado.

    Permissão
    Se você é usuário de Unix, já deve ter trabalhado com permissões (CHMOD). Isto também vale para o PHP. Você pode não conseguir manipular um arquivo porque não tem permissões para isso. Além de poder fazer isso pelo próprio shell ou via FTP, o PHP possui uma função prática para isso. Veja:
    Código PHP:
    chmod("arquivo.txt"0777); 
    Mas, se você é usuário de Windows, só precisará se preocupar com isso na hora que for hospedar. Lembre-se que em versões Windows para servidores, também há CHMODs.

    Claro que isto foi só uma iniciação. A maior parte se aprende na prática. Então, porque não começar já? Posso propor que você comece criando um livro de visitas que usa um arquivo de texto como banco de dados.

    Desculpe-me pela falta de cores, mas enquanto estive sem internet, escrevia tudo no bloco de notas, copiando para o fórum.

    Até mais!
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)
    Similar Threads
X
Working...
X