Surgiu em 1994 com pacotes CGI criados por Rasmus Lerdof 1997, primeiro pacote PHP/IF (Form Interpreter) Zeev Suraski, PHP3, pouco recursos de OOP Zeev e Anti Gutmans, PHP4 PHP5, modularizada, robusta
Como? Quando? Porque? Os valores abaixo referem-se ao nmero de resultados retornados ao se fazer uma pesquisa na web pelo nome das linguagens listadas:
php: 10.210.000.000 resultados asp: 2.600.000.000 resultados java: 428.000.000 resultados ruby: 96.400.000 resultados python: 66.100.000 resultados Viso Geral Interao dos softwares
WEB/PHP Banco MySql Cliente/Browser Software Necessarios Servidor WWW Apache PHP Banco de dados MySQL Notas Importantes HTML Pr-requisito fundamental Linguagem de programao Conhecimento bsico de banco de dados Fundamentos do PHP O que vem a ser o PHP? O que pode ser feito com PHP? Quanto custa o PHP? Como surgiu o PHP? PHP x JavaScript PHP x ASP O que vem a ser o PHP? O PHP (Hipertext Preprocessor) uma linguagem de script voltada para o desenvolvimento de pginas dinmicas para a internet de fcil uso e aprendizagem, permitindo ao programador inserir seus comandos diretamente nos cdigos HTML de uma pgina.
O PHP oferece suporte de conexo com diversos bancos de dados, tais como: MySql, Oracle, Sybase, Dbase, PostgreSQL etc.
Outra grande vantagem ao ser comparado com outras linguagens, tais como: ASP e ColdFusion , a possibilidade de ser executado em diversos sistemas operacionais (Multiplataforma) como Linux, Windows, Unix, OS/2, Macintosh, NT etc., alm de permitir mudanas de plataforma com nenhuma ou pouqussimas alteraes em seus cdigos fontes.
Quanto custa o PHP? O PHP distribudo sobre GPL ( Licena Pblica Geral), ou seja voc no precisa pagar nada para us-lo. O que pode ser feito com PHP? Basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita tambm com PHP, como coletar dados de um formulrio, gerar pginas dinamicamente .
PHP tambm tem como uma das caractersticas mais importantes o suporte a um grande nmero de bancos de dados. Construir uma pgina baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP.
Alm disso, PHP tem suporte a outros servios atravs de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda possvel abrir sockets e interagir com outros protocolos.
Como surgiu o PHP? Em 1994, Rasmus Lerdorf desenvolveu algumas ferramentas que tinham por objetivo monitorar os visitantes de seu site por intermdio de um contador de acesso, um livro de visitas e outros pequenos aplicativos. Era o incio do PHP Personal Home Page tools (ferramentas para home page pessoal). Um ano depois, Lerdorf aprimorou sua linguagem e incorporou ao PHP um pacote para interpretao de formulrios (FI Form Interpretation) e algumas ferramentas para acesso a banco de dados, passando o PHP a ser conhecido como PHP-FI Democraticamente, Lerdorf abriu o cdigo-fonte de sua linguagem, dando incio a uma verdadeira avalanche de novos contribuintes ao PHP-FI. Em 1997, o PHP-FI ganhou dois novos colaboradores de peso, Zeev Suraski e Andi Gutmans, que reescreveram o interpretador, criando a verso 3.0. Deste ponto em diante, o PHP3 deixa de ser Personal Home Page Tools para se transformar em Hipertext Preprocessor. Em maio de 2000, desembarca no mercado a verso 4 do PHP com muitas novidades, como suporte a sesses, permitindo a identificao de usurios que solicitam informaes em um site. PHP x JavaScript Uma das diferenas marcantes entre o PHP e o JavaScript consiste em que os cdigos PHP so processados no servidor, sendo apenas enviado ao cliente o HTML puro, ou seja o usurio no tem acesso aos scripts embutidos no HTML, como ocorre com o JavaScript que processa os dados no computador do cliente. Este procedimento pode ser de grande valia, quando estamos lidando com dados confidenciais, senhas etc.
PHP x ASP O PHP multiplataforma, podendo ser executado em quase todos os sistemas operacionais, enquanto ASP somente executado em sistemas operacionais da Microsoft. Tambm podemos destacar que o acesso banco de dados por intermdio do PHP feito de forma mais simples do que o ASP. Com relao a velocidade, o PHP comprovadamente mais rpido que o ASP, alm de possuir um gerenciamento de memria superior ao do ASP.
O que so pginas estticas Pginas dinmicas Sintaxe bsica para um programa em PHP O cdigo PHP fica embutido no prprio HTML. O interpretador identifica quando um cdigo PHP pelas seguintes tags: Como enviar cdigos HTML dentro de um script PHP Variveis As variveis contidas em um programa PHP so volteis e somente existem enquanto um script estiver sendo executado, ou seja, ao se mudar de uma pgina para outra elas deixam de existir, a menos que sejam transferidas para a prxima pgina, ou definidas como global;
Uma varivel pode armazenar somente um valor de cada vez.
Variveis Por ser esta linguagem case-sensitive (sensvel a letras maisculas e minsculas ), sendo A (maisculo) diferente de a (minsculo), assim uma varivel de nome Contador diferente de contador .
Em PHP todas as variveis so obrigatoriamente iniciadas com o smbolo $ (cifro), seguido pelo seu nome.
Exemplos vlidos : $contador, $_autor, $VALOR
Exemplos no vlidos : $5Valor, $titulo livro , $segundo.nome
Atribuio de valor Para atribuir um valor a uma varivel, voc deve usar o sinal de =, seguido pelo valor a ser armazenado.
Os valores alfanumricos (strings) a serem armazenados devem estar sempre entre aspas () Valores numricos so armazenados sem o uso das aspas.
Em PHP voc no precisa definir uma varivel para us-la, como comum em outras linguagens, basta atribuir um valor diretamente a ela, e a partir deste instante ela ser automaticamente criada. Exemplos:
$titulo = Programando em PHP;
$precolivro = 129.30; PHP com uso de variveis PHP com uso de variveis Numricos Numricos inteiros ou absolutos e nmeros fracionrios, tambm conhecido como ponto flutuante. Alfanumricos Os dados alfanumricos, tambm conhecidos por strings, contm uma cadeia de caracteres que podem ser simples letras ou palavras, at frases inteiras. Exemplos: $A = 25; $B = -1234; $C = 78.56; $D = -9.3245; $E = Ol, como vai? ; $F = 78.999;
Operadores Aritmticos + Adio - Subtrao * Multiplicao / Diviso % Resto da diviso
Usando Operadores Aritmticos Prioridades dos Operadores A prioridade adotada nos clculos em PHP segue de acordo com as mesmas regras matemticas, ou seja, os clculos so executados de acordo com a seguinte ordem:
$B = Rua Javali 3456 ; Diferena entre as aspas simples e aspas duplas Seqncia de Escape \n, \r Nova linha \t Tabulao horizontal \\ A prpria barra ( \ ) \$ O smbolo $ \ Aspa simples \ Aspa dupla
Concatenar Strings Como descobrir o comprimento de uma string Como eliminar espaos em branco finais e iniciais de uma string Como converter em letras maiscula ou minscula Como trabalhar com substrings Trabalhando com array Ministrante: Luiz Lins Monteiro Junior E-mail: luizmagao@gmail.com Trabalhando com arrays <HTML> <HEAD> <TITLE> Curso PHP MySql </TITLE> </HEAD> <BODY>
</BODY> </HTML> Obs: Salvar com a extenso .php <? // Vetor unidimensional $hoje = date(w);
$diaSemana[0] = Domingo; $diaSemana[1] = Segunda-feira; $diaSemana[2] = Tera-feira; $diaSemana[3] = Quarta-feira; $diaSemana[4] = Quinta-feira; $diaSemana[5] = Sexta_feira; $diaSemana[6] = Sbado; echo Hoje : <b> $diaSemana[$hoje] </b>; ?> Prato do dia Hoje Sbado Nossa sugesto para hoje : Lasanha a quatro queijos Preo : 12,20
Elemento Dia da semana Prato do dia Preo 0 Domingo Lasanha a quatro queijos R$ 12,60 1 Segunda-feira Frango ao molho madeira R$ 10,00 2 Tera-feira Arroz grega R$ 09,40 3 Quarta-feira Feijoada moda da casa R$ 11,20 4 Quinta-feira Nhoque paulista R$ 08,50 5 Sexta-feira Bacalhau ao forno R$ 15,20 6 Sbado Feijo branco R$ 10,00 Listas Objetos Booleanos 0 falso (false) Outro valor 0 verdadeiro (true)
Operador Alfanumrico . Operador de concatenao Operadores de atribuio = atribuio simples += atribuio com adio -= atribuio com subtrao *= atribuio com multiplicao /= atribuio com diviso %= atribuio com mdulo .= atribuio com concatenao Usando Operadores de Atribuio Formulrios Toda seo de uma pgina que contenha um formulrio deve sempre estar entre as tags <FORM> ...</FORM> A tag <FORM> contm uma srie de atributos, sendo que os mais importantes so: ACTION => Informa ao servidor a pgina que deve ser carregada, assim que o usurio clicar sobre o boto enviar contido no formulrio. Method => Este atributo controla como as informaes contidas no formulrio devem ser enviadas ao servidor. Existem os mtodos GET e POST GET => acrescenta URL um ponto de interrogao (?) seguido por todos os nomes dos campos ex. http://www.phb.fap.com.br/formulario.php?txtnome=tim POST => Transmite as informaes de um modo invisivel, ou seja no as insere na URL mas sim no corpo da requisio HTML, alm de permitir uma quantidade maior de informaes a ser passada de uma pgina para outra. Ex. http://www.phb.fap.com.br/formulario.php, ele no apresenta o contedo. Principais controles do HTML que so usados na coleta de dados em um formulrio Caixa de texto de uma linha (TEXT); Caixa de texto de rolagem (TEXTAREA); Caixa de seleo (CHECKBOX); Boto de radio (RADIO); Menu suspenso (SELECT e OPTION); Boto de envio (SUBMIT).
Caixa de texto de uma linha Cdigo HTML Caixa de texto de uma linha Cdigo PHP Boto de opo (RADIO) Cdigo HTML <HTML> <HEAD> <TITLE> Formulrio com boto de radio </TITLE> </HEAD> <BODY> Qual o seu estado civil ?
<? echo Seu estado civil : $opcao ; ?> A instruo condicional IF
<HTML> <BODY>
</BODY> </HTML>
Obs: Salvar com a extenso .php
<? $valor = 5; If ($valor == 5) { echo A varivel valor : $valor; } ?> Instruo condicional switch <? $valor = 2; switch ( $valor ) { case 1 : echo Primeiro valor; break; case 2 : echo Segundo Valor ; break; default : echo Valor maior que 2 ; break; } ?> Operadores Relacionais
op1 == op2 Verdadeiro se op1 for igual a op2 op1 > op2 Verdadeiro se op1 maior que op2 op1 < op2 Verdadeiro se op1 menor que op2 op1 >= op2 Verdadeiro se op1 maior ou igual a op2 op1 <= op2 Verdadeiro se op1 menor ou igual a op2 op1 != op2 Verdadeiro se op1 diferente de op2 Operadores lgicos
&& Verdadeiro se uma expresso A e uma expresso B forem verdadeira and Verdadeiro se uma expresso A (AND) e uma expresso B forem verdadeira || Verdadeiro se uma expresso A ou uma expresso B forem verdadeira or Verdadeiro se uma expresso A ou (OR) uma expresso B forem verdadeira !op1 Ser considerado verdadeiro se o valor de op1 for falso Exerccio
Escreva uma pgina com os seguintes campos de formulrio: Nome Endereo Idade Sexo Escreva um programa em php para receber os valores do formulrio acima e apresentar na tela o nome,endereo e verificar se a idade for maior que 18 anos ,mostrar a mensagem : Minha idade : XX, caso contrrio a mensagem : Menor de idade . Exerccio: Senha Faa um formulrio com entradas para Nome de Usurio e Senha e um boto Entrar. Esse formulrio ser interpretado pela pgina pagina_protegida.php que dever exibir uma mensagem de boas vindas para o usurio citando o seu cargo, ou uma mensagem de erro caso a senha ou o nome de usurio estejam incorretos. Trabalhando com Loop Instruo while e do-while
Trabalhando com Loop
Trabalhando com Loop Instruo for
Quebra de Fluxo break Usado em laos for, while, do...while e switch. Interrompe imediatamente a execuo do lao.
continue Semelhante ao break, mas ao invs de sair do lao, volta pro incio dele. Exerccio Utilize uma estrutura de repetio para gerar tags <Hx>. Ex.: Letra H1 Letra H2 Letra H3 Letra H4 Letra H5
Exerccios Fazer a tabela Prato do Dia utilizando a estrutura de repetio For. Exerccio: Formatao via formulrio Crie um formulrio com os seguintes itens: Uma caixa de texto Trs Checkbox para Itlico, Negrito e Sublinhado Um Select com opes de alinhamento Um select com opes de cor Uma caixa de texto para digitar o nmero de repeties. Um select com nmeros correspondentes ao tamanho.
Exerccio: Calculadora Fazer uma calculadora simplificada. A calculadora possuir: Dois campos onde sero digitados os termos Um seletor tipo Radio com as operaes bsicas Um boto Calcular que ser usado para realizar o clculo O resultado deve ser apresentado na mesma pgina do formulrio. Funes
1. O emprego das funes permite estruturar um programa de modo bem mais eficiente e produtivo, pois garante a criao de pequenas sees de cdigo que podem ser reutilizadas a qualquer momento
2. Podemos definir uma funo como sendo um pequeno programa, inserido em seu programa principal, que pode ser chamado a qualquer instante para executar um determinada operao.
Sintaxe para declarao de funes function nome_da_funo($arg1, $arg2, $arg3) { Comandos; ... return <valor de retorno>; } Retorno No obrigatrio Pode-se retornar qualquer tipo de dados, inclusive vetores. Sintaxe: return valor; Argumentos Devem ser declarados dentro dos parnteses No precisa especificar o tipo Ex.: function imprime($texto) { echo $texto; } imprime("teste de funes"); Passagem de parmetros por referncia Utiliza-se o caracter & antes do nome do parmetro. Pode ser utilizado na declarao da funo ou na chamada da funo. Ex.: function mais5(&$num1, $num2) { $num1 += 5; $num2 += 5; } mais5($a, &$b);
Argumentos com valores pr-definidos Ex.: function teste($php = "testando") { echo $php; } teste(); // imprime "testando" teste("outro teste"); // imprime "outro teste" Escopo $php = "Testando"; function Teste() { echo $php; } Teste(); $php = "Testando"; function Teste() { global $php; echo $php; } Teste(); Funes - Exemplos
<HTML> <BODY>
</BODY> </HTML> Obs: Salvar com a extenso .php
<? function comissao($valor) { $valor = $ valor * 0.06; return $valor; } echo Ana vendeu R$ 25000, sua comisso : R$ . comissao(25000); echo <br>; echo Carolina vendeu R$ 34680, sua comisso : R$ . comissao(34680); } ?> Exerccio: Cumprimento Fazer uma funo que retorna uma string de cumprimento: Bom dia, boa tarde, boa noite dependendo da hora em que ele acessa a pgina.
Dica: A funo date(H) retornar a hora do dia. Exerccio: Data por extenso Fazer uma funo que retorne a data atual no formato do exemplo abaixo: Domingo, 29 de abril de 2006
Dica: Para inicializar os arrays usar listas. Ex.: $x = array(1 => valor1, 2 => valor2...) Variveis Modificador Static Cria uma varivel local, porm seu valor no ser perdido ao sair da funo.
O exemplo acima e equivalente ao seguinte: $a = "teste"; $teste = "Mauricio Vivas"; Variveis de Ambiente Ex.: $_SERVER*PHP_SELF+ $_SERVER*REQUEST_URI+
phpinfo( ); Obter o tipo da varivel gettype($x); Retorna: "integer", "double", "string", "array", "object" e "unknown type"
is_int( ), is_integer( ), is_real( ), is_long( ), is_float( ), is_string( ), is_array( ) e is_object( ) Outras operaes unset($x); //Destri a varivel isset($x); //Verifica se a varivel existe empty($x); //Verifica se a varivel tem um valor diferente de 0 ou ; Classes e Objetos class Nome_da_classe { var $variavel1; var $variavel2; function funcao1 ($parmetro) { /* === corpo da funo === */ } } Objetos Sintaxe para criao de objetos: $varivel = new nome_da_classe; Para utilizar as funes definidas na classe, deve ser utilizado o operador "->", como no exemplo: $variavel->funcao1(); A varivel $this Quando for necessrio fazer chamadas a funes do prprio objeto utilizamos a varivel $this. Exemplo usando $this class conta { var $saldo; function saldo() { return $this->saldo; } function credito($valor) { $this->saldo += $valor; } } $minhaconta = new conta; echo $minhaconta->saldo() . '<br>'; $minhaconta->credito(50); echo $minhaconta->saldo(); // retorna 50 Sub-Classes Exemplo de subclasses: class novaconta extends conta { var $numero; function numero() { return $this->numero; } } $outraconta = new novaconta; $outraconta->numero = 123456; echo $outraconta->numero(); Construtores Um construtor uma funo definida na classe que automaticamente chamada no momento em que a classe instanciada Exemplo de Construtores class conta { var $saldo; function conta () { $this->saldo = 0; } function saldo() { return $this->saldo; } function credito($valor) { $this->saldo += $valor; } } Cookies Cookies so mecanismos para armazenar e consultar informaes nos browsers dos visitantes da pgina. O PHP atribui cookies utilizando a funo setcookie, que deve ser utilizada antes da tag <html> numa pgina. No use cookies para acessar informaes sigilosas. Os dados dos cookies so armazenados no diretrio de arquivos temporrios do visitante, sendo facilmente visualizado por pessoas mal intencionadas. Ateno para a opo "aceitar cookies" que pode ser desativada a qualquer momento pelo visitante. setcookie Setcookie("nome_cookie","seu_valor","tempo_ vida") Cookies: Exemplo <? $valor = 'Texto armazenado no cookie'; setcookie("TesteCookie", $valor, time()+3600); ?>
<? echo $_COOKIE["TesteCookie"]; ?> A partir de agora qualquer pgina do site ter acesso a $_COOKIE["TesteCookie"]; Sesses Sesses so mecanismos parecidos com os cookies. Suas diferenas so que sesses so armazenadas no prprio servidor e no expiram.
if (!$autoriza) echo "Voc deve fazer login."; else echo "Voc acessou a pgina com sucesso"; ?>
Include e Require A funo require() pe o contedo de um outro arquivo no arquivo php atual, antes de ser executado. Quando o interpretador do PHP ler este arquivo, ele encontrar todo o contedo dos "requires" adicionado no arquivo corrente.
A funo include() semelhante funo require(), com a diferena que o cdigo do arquivo includo processado em tempo de execuo, Exemplos require ("arquivo.php");