Php

  • Uploaded by: josimar
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Php as PDF for free.

More details

  • Words: 3,726
  • Pages: 14
PHP 1.1 O PHP O PHP é uma linguagem de programação orientada a objetos de código aberto e interpretada que, apesar de muito poderosa, é de fácil aprendizagem. Seu principal uso é na programação de páginas HTML dinâmicas para Internet, onde é conhecida como uma linguagem de programação de script serverside (do lado do servidor), ficando embutida dentro do código da página HTML. Suas principais características são: velocidade, robustez, simplicidade, eficiência, portabilidade (independência de plataforma) e sintaxe similar a C e PERL. O PHP é conhecido como a linguagem de programação para Internet mais utilizada. É praticamente a linguagem de programação mais utilizada na Internet (do lado do servidor). A linguagem PHP suporta: •

Bancos de dados – Adabas, dBase, Direct MS-SQL, Empress, FilePro, FrontBase,

Hyperwave, IBM DB2, Informix, Ingres, InterBase, mSQL, MySQL, Oracle, Ovrimos, PostgreSQL, Solid, SQLite, Sybase, Unix dbm e Velocis, além de suporte a ODBC (Open Database Connection). •

Protocolos como – LDAP, IMAP, SNMP, NNTP, POP3, HTTP e COM, além do suporte a

sockets. •

Processa XML suportando os padrões SAX, DOM e extensão XSL.



Sistemas operacionais – Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell

Netware, RISC OS, IRIX e Solaris.

1.2 Histórico A linguagem PHP (Personal Home Page) foi criada por Rasmus Lerdorf, em 1994, para que ele pudesse ter informações sobre as visitas feitas ao seu currículo em sua página pessoal. Em 1995, foi liberada a primeira versão ao público, conhecida como PHP Tools, basicamente um conjunto de utilitários simples: livro de visitas, contador de visitas e alguns outros. Em 1997, o interpretador foi reescrito e rebatizado como PHP/FI (PHP Form Interpreter). Essa versão incorpora a interpretação a dados de formulários HTML e suporte a mSQL. Seu uso cresceu e muitos passaram a contribuir com o projeto; estima-se que esse uso tenha subido de 15 mil para mais de 50 mil sites nesse ano. Com a explosão do uso, o projeto deixou de ser executado por Rasmus com contribuições de outras pessoas para ter uma equipe de desenvolvimento. O interpretador foi novamente reescrito por Zeev Suraski e utilizado como base para a versão 3 do PHP, que introduzia recursos ainda tímidos de orientação a objetos. Pouco depois, Zeev e Andi Gutmans escreveram o PHP 4 a partir do zero. Esta versão ampliava a orientação a objetos. O nome da linguagem sempre se manteve PHP, mas, com o crescimento da linguagem, seu significado

passou

do

modesto

Personal

Home

Page

para

Hypertext

Preprocessor,

nome

democraticamente escolhido por votação na comunidade que o mantém. Em junho de 2004, foi lançada oficialmente a versão 5 do PHP, trazendo tantas modificações em relação à versão 4 que fez com que muitos programas deixassem de funcionar, o que causou atraso em sua adoção. Somente em julho de 2007 foi anunciada, oficialmente, no site do PHP, a descontinuidade da

versão 4 e a recomendação de que, até o final do ano, as aplicações fossem adaptadas para a versão 5. Mesmo assim ainda há muitos programas rodando na versão 4. Apesar de a versão 4 já ser muito poderosa, infelizmente, criou o mito de que qualquer pessoa poderia programar em PHP. Mas isso não é verdade! Talvez seja fácil para um leigo escrever um programa, mas, com certeza, não será fácil programar. Contudo, essa imagem vem mudando e, cada vez mais, o PHP é visto como uma linguagem de programação para ser explorada em grandes projetos. Na versão 5, o PHP finalmente chegou à idade adulta. Seu mecanismo interno foi novamente reescrito, por completo, para operar com o Zend Engine 2.0, o que proporcionou significativo aumento na velocidade de execução e performance na programação orientada a objeto. O Zend Engine é a junção dos nomes do Zeev Suraski e Andi Gutmans. A promessa de que a versão 6 retirará muitas características do PHP, para torná-lo mais prático, já está gerando muitas discussões em listas de desenvolvedores sobre o problema do legado (programas escritos na versão 5 que podem deixar de funcionar). 1.3 Instalação 1.3.1 Wamp5 Temos vários e ótimos servidores web que dão suporte para PHP. De fato, o Wamp não é um servidor web, mas um pacote de instalação que contém o servidor web Apache com: o módulo de interpretação do PHP; o banco de dados MySQL; o PHPMyAdmin, que é um módulo de administração do MySQL e o SQLite, uma ferramenta de administração de bancos de dados SQL. O Wamp5 é muito simples de ser instalado e é compatível com Windows. ( http://baixaki.ig.com.br/download/wamp5.htm) 1.3.2 PHP Editor Para editar o código dos programas PHP, recomendamos um um editor que reconheça a sintaxe da linguagem e coloque os comandos em cores diferentes; isso pode parecer besteira, mas facilita muito a programação. Um ótimo editor é o PHP Editor que, além de reconhecer a sintaxe PHP, também reconhece a sintaxe HTML, permite a edição de vários arquivos simultaneamente e recurso de autocomplemento de funções. O PHP Editor é um editor leve, que possui recursos avançados e ainda tem como diferenciais o fato

de

ter

sido

desenvolvido

em

terras

(http://superdownloads.uol.com.br/download/65/php-editor/; Sua instalação é extremamente simples, basicamente um avançar, avançar e concluir.

tupiniquins.

2 A linguagem PHP 2.1 Primeiro Programa Exemplo! "; ?>

1. Digite a página acima usando o PHP Editor.

2.

Salve o arquivo no diretório (pasta) “www”, criado pelo Wamp com o nome

“exemplo.php”. Provavelmente, o caminho da pasta “www” é “C:\Wamp\www”.

3.

Abra um navegador Internet e digite o endereço “http://localhost/”. Se tudo der certo,

será apresentada uma página com as informações do servidor.

2.3 Sintaxe Básica 2.3.1 Delimitador PHP Além do delimitador , como utilizamos em nosso primeiro programa, também podemos utilizar em PHP o delimitador escrito, das seguintes formas:



<script language=”php”> ... <script>







<% ... %>

Contudo, vale destacar que o indicado é você utilizar a forma como fizemos no primeiro programa. As demais formas podem necessitar da configuração do interpretador PHP para serem aceitas. 2.3.2 Separador de Comandos PHP utiliza o ponto-e-vírgula como separador de comandos, não como terminador; isso significa que o último comando não necessita de ponto-e-vírgula. Mas não se preocupe com isso, é normal colocarmos ponto-e-vírgula em todos os comandos. 2.3.3 Comentários

PHP permite comentários de linha e de bloco. Para fazer comentários de linha, você pode utilizar

o tradicional barra-barra, “//” ou o cerquilha “#”. Para comentários de bloco, foi mantido apenas o tradicional barra-asterisco “/* ... */”.

2.3.4 Atribuição

Em PHP, como na imensa maioria das linguagens de programação, o igual “=” é utilizado para atribuição de valores.

2.3.5 Operadores

Aritméticos +

Adição

-

Subtração

*

Multiplicação

/

Divisão

%

Módulo – Resto da Divisão Relacionais

==

Igual

!=

Diferente

>

Maior

<

Menor

<=

Menor igual

Lógicos &&

and

E

||

or

Ou

xor

Ou exclusivo

!

Não

Além dos operadores acima, PHP ainda possui o operador de concatenação de string, o ponto final “.” e a possibilidade de escrever operadores abreviados, como em C (+=, -+, *=, /=, %=, .=) e os operadores de incremento (++) e de decremento (--). O exemplo abaixo mostra o uso desses operadores.

Comandos

Comando

Resultado

Anteriores $a=5; $b=2;

$c=$a+$b;

$c passará a valer 7

$a=5; $b=2;

$c=$a/$b;

$c passará a valer 2.5

$a=5; $b=2;

$c=$a%$b;

$c passará a valer 1

$a=5; $b=2;

($a==$b)

Falso

$a=5; $b=2;

($a>=$b)

Verdadeiro

$a=5; $b=2; $c=3;

(($a>=$b) &&

Falso

($b==$c)) $a=5; $b=2; $c=3;

(($a>=$b) or

Verdadeiro

($b==$c)) $a=5; $b=2;

(!($a==$b))

Verdadeiro

$a=”PH”; $b=”P”;

$c=$a.$b;

$c passará a valer “PHP”

$a=5; $b=2;

$a+=$b;

$a passará a valer 7

$a=5;

$a++;

$a passará a valer 6

$a=5;

$a--;

$a passará a valer 4

$a=5; $b=2; $c=3;

$d=$a+$b*$c;

$d passará a valer 11

$a=5; $b=2; $c=3;

$d=($a+$b)*$c;

$d passará a valer 21

Os parênteses “(...)” são utilizados como operador de precedência, como vimos nos dois últimos exemplos acima. Em PHP, toda condição deve, obrigatoriamente, estar entre parênteses.

2.4 Variáveis O PHP utiliza tipagem fraca de variável com checagem dinâmica; isso significa que as variáveis não precisam ser declaradas e podem conter valores de diferentes tipos ao longo da execução do programa. Apesar disso, podemos afirmar que PHP suporta os seguintes tipos de dados: •

inteiro (integer ou longint);



ponto-flutuante (float ou double);



caracteres (string);



vetor (array);



objeto (object).

O PHP possui uma particularidade, com relação ao delimitador de valores string, que pode ser aspas simples ( ' ) ou dupla ( " ). Utilizando aspas simples, o PHP entenderá o valor exatamente como está (exceto os caracteres especiais); utilizando aspas duplas, o PHP interpretará as variáveis contidas.

Principais caracteres especiais: Forma de Escrita

Será Impresso

\\

\

\$

$

\’



\”



O PHP não possui um tipo booleano (verdadeiro ou falso), mas é capaz de avaliar expressões lógicas. A maneira escolhida foi a mesma que a linguagem C, através de um valor inteiro: 0 (zero), para falso, e qualquer valor diferente de zero (geralmente 1), para verdadeiro.

2.4.1 Vetores e Registros O PHP utiliza um conceito um pouco diferente para trabalhar com vetores, o que permite que a mesma estrutura seja utilizada também para registros. Se você está acostumado aos tradicionais vetores com índices numéricos e seqüenciais, vai estranhar um pouco. De fato, em PHP, um vetor é um repositório, onde os índices são chaves de acesso; estes índices podem ser de qualquer tipo. Mesmo sendo inteiros, não precisam ser seqüenciais. Exemplo: vetor

2.4.2 Conversão de Tipos

É possível converter valores de um tipo para outro utilizando, assim como na linguagem C, o typecast do PHP. Para isso, basta escrever antes do valor o tipo desejado entre parênteses. Abaixo são apresentados os typecasts permitidos.

Typecasts (int), (integer) (real), (double), (float)

Converte para Inteiro Ponto-flutuante

(string)

Caracteres

(array)

Vetor

(object)

Objeto

Exemplos: $a = 1;

// $a é inteiro e vale 1

$a = (double)$a; // $a passa a ser ponto-flutuante e valer 1.0 $b = 1.5;

// $b é ponto-flutuante e vale 1.5

$b = (int) $b;

// $b passa a ser inteiro e valer 1

Outra maneira de converter variáveis, é utilizando a função “settype()”, onde deve ser informado como parâmetros o nome da variável, a ser convertida e um valor string com o tipo (typecasts) desejado. Por exemplo:

$a = 1.5;

// $a é ponto-flutuante

settype($a, “int”);

// $a é transformada para inteiro e passa a valer 1.

2.4.3 Constantes Para definir constantes em PHP, deve-se utilizar a função define(). O exemplo abaixo define e utiliza a constante pi:

define("pi", echo "O

3.1415926536);

valor de pi é ".pi;

Obs.: uma constante nunca poderá conter vetores.

2.4.4 Variáveis de Ambiente

Variável de ambiente, também conhecida por constante de ambiente, é uma variável pré-definida (não precisa ser declarada), que armazena um valor especial. PHP possui várias variáveis de ambiente. A função “phpinfo()” apresenta a listagem de todas as variáveis de ambiente e seus valores.

Exemplos:

Nome

Descrição

$_SERVER["HTTP_USER_AGENT"]

Nome e versão do navegador do cliente.

$_SERVER["REMOTE_ADDR"]

Endereço IP do cliente.

$_SERVER["SCRIPT_FILENAME"]

Caminho e nome do programa sendo executado.

3. Comandos da Linguagem PHP

3.1 Comandos de Seleção 3.1.1 Bloco de Comandos PHP também utiliza o conceito de bloco de comandos utilizado em C, Pascal e Java. Nessa idéia, um grupo de comandos pode ser visto como um único comando, em determinadas circunstâncias. Em PHP, os blocos são delimitados por chaves “{ ... }”.

3.1.2 IF Em PHP, o “if” funciona com o conceito de blocos de comando. Isso significa que, se a condição for válida, será executado o próximo comando. Se você necessitar que o “if” execute mais de um comando, basta colocá-los dentro de um bloco.

Exemplo: $a=1; if ($a == 1) echo "Um"; else { echo "outro valor que não um"; echo "
"; }

O PHP também incorpora, o conceito de marcador de término, como ocorre na linguagem de programação ASP. O exemplo abaixo faz exatamente o mesmo que o anterior, utilizando o marcador de término “endif” para informar ao PHP o término de um comando “if”. $a = 1; if ($a == 1): echo "um"; else: echo "outro valor que não um"; echo "
"; endif;

Observe os dois pontos “ : ” colocados após o “if” e o “else”. Outra flexibilização que existe no comando “if” é o “elseif”, para possibilitar ao comando “if” avaliar várias condições, funcionando de forma similar ao comando “switch”.

Exemplo: $a=1; if ($a == 1) echo "um"; elseif ($a == 2) echo "dois"; else { echo "outro valor que não um ou dois"; echo "
"; }

O “else” e o “elseif” são opcionais dentro do “if”, podendo não ser utilizados. O “elseif” pode ser utilizado mais de uma vez dentro do “if”.

3.1.3 SWITCH

O comando “switch” e “elseif” podem ser utilizados para resolver o mesmo problema, mas, nesses casos, o “switch” é mais recomendado, por questões de performance e higiene de programação (código limpo e de fácil leitura). Basicamente, o “switch” avalia vários valores de uma mesma variável; já o “elseif” pode avaliar qualquer condição.

Exemplo: $a=1; switch ($a) { case 1: echo "um"; break; case 2: echo "dois"; break; default: echo "outro valor que não um ou dois"; echo "
"; } Assim como o “else” do comando “if”, o “default” do “switch” é opcional; caso exista, será executado nas situações onde nenhum “case” seja avaliado como igual. Outro ponto é o comando “break”, que interrompe a seqüência de execução do “switch”. Isso normalmente é necessário, porque o comando “switch” foi desenhado para, ao avaliar um “case” como igual, executar todos os comandos abaixo, até o final do “switch”, mesmo que estes estejam em outro “case”. Uma particularidade do comando “switch” do PHP é a possibilidade de avaliar valores do tipo caracter.

3.2 Comandos de Repetição 3.2.1 WHILE O comando de repetição “while” é o mais simples dos comandos de repetição. Ele avalia a condição e executa o(s) comando(s) até que a condição retorne falso. Assim como o “if”, também permite a utilização de blocos de comandos e marcador de término.

$a = 1;

$a = 1;

while ($a <= 10) {

while ($a <= 10):

echo "$a
";

echo "$a
";

$a++;

$a++;

}

endwhile;

O while executa no mínimo zero e no máximo N vezes. Zero porque, ao chegar no “while”, a condição pode ser avaliada como falsa e não chegará a executar a primeira vez, N porque pode entrar em um “loop infinito”, repetindo eternamente, caso em que a condição nunca seria avaliada como falsa. Isso ocorreria no exemplo acima se testássemos ($a > 0). 3.2.2 DO..WHILE O comando de repetição “do..while” funciona de maneira semelhante ao “while”, a diferença é que a condição é avaliada após a primeira execução, com isto ele executa no mínimo uma vez e no máximo N vezes.

Exemplo: $a = 1; do { echo "$a
"; $a ++; } while ($a <= 10); 3.2.3 FOR

O comando de repetição “for” excuta repetição controlada, em que o programador define o número de vezes que irá repetir, mesmo que esse número seja o valor de uma variável. O comando for possuir três partes bem definidas: •

Inicialização – Executada apenas a primeira vez, antes da execução do(s) comando(s) e

serve para definir o valor da variável de controle. •

Condição – Executada todas as vezes, a primeira vez é antes da execução do(s)

comando(s) e serve para interromper a repetição; na realidade, o “for” tem funcionamento bastante similar ao “while”, executando enquanto essa condição for avaliada como verdadeira. •

Incremento – Ou decremento, é executado a partir da segunda vez, antes da segunda

execução do(s) comando(s) e serve para alterar o valor da variável de controle. Normalmente utiliza um incremento (++) ou decremento (--). O “for” também pode ser escrito com marcador de término.

Sintaxe:

for (inicialiação; condição; incremento) { comando(s); } Esse exemplo apresenta o for escrito, com marcador de término. A execução do exemplo produzirá o mesmo resultado dos exemplos de “while” e “do..while”, como segue;

for ($a=1; ($a <= 10); $a++): echo "$a
"; endfor; 3.2.4 Ruptura de Fluxo

O comando “break”, que funciona como um interruptor de fluxo de comandos. Isso porque ele tem o poder de interromper a seqüência de execução de um bloco de comandos de repetição (“while”, “do..while” e “for”, além do já visto “switch”), saltando para o próximo comando após o término do bloco. No exemplo abaixo, seriam impressos os valores de 10 a 100, mas como o “break” interrompe a repetição ao encontrar um múltiplo de 7, sendo impresso apenas de 10 a 13.

for ($a=10; ($a <= 100); $a++) { if (($a % 7) == 0) break; echo "$a
"; }

O comando “continue” desvia o fluxo de execução para a condição do comando de repetição.

for ($a=10; ($a <= 100); $a++) { if (($a % 7) == 0) continue; echo "$a
"; } Ao encontrar um múltiplo de 7, o comando “continue” irá desviar o fluxo de execução para a condição, fazendo com que o comando “echo” não seja executado; com isso, o resultado final desse programa será a impressão dos números de 10 a 100, com exceção dos múltiplos de 7.

3.3 Subprogramas Para o PHP, todo subprograma (procedimento ou função) é escrito como função. Uma vez que a checagem de tipos em PHP é dinâmica, o tipo de retorno não necessita ser declarado; com isso, a única diferença na escrita de um procedimento ou função é a presença do comando de retorno no corpo da função. Devido a essa ausência de tipos, é recomendável que o programador documente suas funções para facilitar a compreensão do código. O exemplo abaixo mostra a declaração de uma função e uma forma eficiente de documentá-la. function media ($n1, $n2) { // float function media(float, float) $med = ($n1 + $n2) / 2;

return $med; } O comando return é utilizado para retornar o valor da função, mas é opcional; se o retirarmos, essa função passa a ser um procedimento. Apesar das particularidades acima, subprogramas em PHP se assemelham às outras linguagens de programação. Em PHP, as funções também devem ser declaradas antes de serem chamadas, recebendo parâmetros por valor ou referência. Apesar de não ser possível a uma função retornar mais que um valor é possível retornar um vetor e, por conseqüência, mais que um valor.

Banco de Dados 5.1 Acessando Bancos de Dados Um dos pontos fortes do PHP é a facilidade para o acesso a bancos de dados. Neste curso nos concentraremos apenas no MySQL, que compõem, ao lado do PHP, a dupla preferida pela maioria dos programadores PHP, principalmente no ambiente Linux com Apache. No MySQL, assim como em quaisquer servidores de bancos de dados, há procedimentos e regras para acessar os dados: •

Conectar ao servidor.



Abrir banco de dados.



Executar comandos SQL.



Fechar o banco de dados.



Desconectar do servidor.

Geralmente, os dois últimos não precisam ser executados, pois, quando o programa termina, o banco é fechado e a conexão encerrada automaticamente.

5.2.1 Conectar ao Servidor

A conexão a um servidor de banco MySQL em PHP é feita através da função “mysql_connect()”, que tem como parâmetros: o endereço do servidor (host), o nome do usuário (login) e a senha para a conexão. A função retorna o identificador da conexão, que será utilizado em outras operações de banco.

Sintaxe: mysql_connect(Host, usuario, senha)

Exemplo: $conexao = mysql_connect("localhost", "root", "");

No exemplo, conectamos um servidor de banco que roda na mesma máquina do servidor de página (localhost), utilizando um usuário pré-definido (root), sem senha (isso porque, no banco de dados, não foi definida senha para esse usuário).

5.2.2 Abrir Banco de Dados

A abertura (ou seleção) do banco de dados é feita através da função “mysql_select_db()”, que tem como parâmetros: o nome do banco de dados e o identificador da conexão (retornado pela função “mysql_connect()”). A função retorna 0 (zero) em caso de falha ou 1 em caso de sucesso.

Sintaxe:

mysql_select_db(NomedoBanco, Conexão) Exemplo:

$resultado = mysql_select_db("bdteste", $conexao); if ($resultado == 0) echo "ERRO DE CONEXAO AO BANCO DE DADOS."; else { ... } 5.2.3 Executar Comandos SQL

A execução de comandos, ou query, SQL (Structured Query Language) é feita através da função “mysql_query()”, que tem como único parâmetro o comando SQL a ser executado. A função retorna 0 (zero), em caso de falha, ou 1, em caso de sucesso; ou seja, a consulta está sintaticamente correta e foi executada pelo servidor.

Exemplo:

$sql = "INSERT INTO ALUNO(ALU_MATR, ALU_NOME, ALU_RG, ALU_CPF, ALU_IDADE) VALUES ('$txtmatr', '$txtnome', '$txtrg', '$txtcpf', '$txtidade' )"; $resultado = mysql_query($sql); if ($resultado == 0) { echo "Erro de execucao da instrucao SQL"; } else { echo "Registro gravado com sucesso"; }

5.2.4 Executar Comandos SQL com Retorno A execução de comando SQL, que retorna valores (SELECT), também é feita através da função “mysql_query()”. Para capturarmos os valores retornados, devemos armazenar o retorno da função em uma variável, que será tratada pela função “mysql_result()”, tendo como parâmetros: o identificador do comando SQL (retorno da função “mysql_query()”), número do registro desejado e o identificador do campo desejado. A função retorna o valor do campo especificado na linha especificada. Um comando SELECT pode retornar vários registros (linhas ou tuplas), estando cada valor em um registro. Isso significa que, para um resultado com vários registros, é preciso controlar o número do registro para tratá-lo. Para sabermos quantos registros foram retornados, podemos utilizar a função “mysql_num_rows()”, que tem como parâmetro o identificador do comando SQL (retorno da função “mysql_query()”).

A

numeração

dos

registros

inicia-se

por

0

(zero);

assim,

se

a

função

“mysql_num_rows()” retornar 2, significa que foram retornados 2 registros, sendo o primeiro o número 0 e o segundo o número 1. O número do último será sempre o valor retornado pela função menos 1.

Exemplo: $sql = "SELECT * FROM ALUNO ORDER BY ALU_NOME"; $resultado = mysql_query($sql); if ($resultado != 0) { for ($i = 1; $i <= mysql_num_rows($resultado); $i++) { echo "Matrícula: " . mysql_result($resultado, $i -1, "alu_matr") . "
"; echo "Mome echo "Idade

: " . mysql_result($resultado, $i -1, "alu_nome") . "
"; : " . mysql_result($resultado, $i -1, "alu_idade") . "
";

echo "RG

: " . mysql_result($resultado, $i -1, "alu_rg") . "
";

echo "CPF

: " . mysql_result($resultado, $i -1, "alu_cpf") . "
";

echo "


"; } } else { echo "Erro de execucao da instrucao SQL"; } }

Related Documents

Php
November 2019 9
Php
October 2019 10
Php
November 2019 13
Php
June 2020 22
Php
November 2019 46
Php
May 2020 32

More Documents from "longhoanggiang"

Meireles Radial Contrato
November 2019 15
November 2019 9
Tutorial Asp
November 2019 8
Notas Aula - Html
November 2019 17
Uma Abordagem Ao Http
November 2019 16
Php
November 2019 20