Linguagem PHP
Upcoming SlideShare
Loading in...5
×
 

Linguagem PHP

on

  • 8,209 views

 

Statistics

Views

Total Views
8,209
Views on SlideShare
8,188
Embed Views
21

Actions

Likes
4
Downloads
188
Comments
0

5 Embeds 21

http://essa-efa-redes.blogspot.com 13
http://testing.vtx.mm.am 3
http://blogs.ne10.uol.com.br 3
http://www.slideshare.net 1
http://sc.localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Linguagem PHP Linguagem PHP Document Transcript

  • ESCOLA SECUNDÁRIA DE SANTO ANDRÉ Curso e Turma: Instalação e Manutenção de Sistemas Informáticos, EFA 4S Disciplina: Programação e Web Nome do Trabalho: “Linguagem PHP" Nome do Aluno: Tiago Lopes Nome do Professor: Guilherme Batista Data do Trabalho: 17-12-2009
  • Índice Introdução Pag.1 Linguagem PHP Pag.2 Como surgiu a Linguagem PHP Pag.3 PHP 3 Pag.3 PHP 4 Pag.3 PHP 5 Pag.3 O Código PHP Pag.4 Separador de instruções Pag.4 Nomes de variáveis Pag.4 Comentários Pag.5 Os primeiros Scripts Pag.5 e 6 Formulários HTML Pag.6 e 7 Interagir com o Browser Pag.7 Acesso na Base de dados Pag.8 Ligação com o servidor Pag.8 Selecção na Base de dados Pag.9 Execução de queries SQL Pag.10 Query SELECT Pag.11 e 12 Conclusão Pag.13 Referências Pag.14
  • Introdução O trabalho consiste numa pesquisa sobre a Linguagem PHP – uma linguagem de script para a construção de Homepages dinâmicas, que é executada no servidor http. PHP também tem como uma das características mais importantes o suporte a um grande número de base de dados.
  • Linguagem PHP PHP (um acrónimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação interpretada, livre e muito utilizada para gerar o conteúdo dinâmico na WEB, sendo ela interpretada via Browser. Basicamente, qualquer coisa pode ser feita pelo programa CGI, pode também ser feita com PHP, como colectar dados de um formulário, gerar páginas dinamicamente ou enviar e receber cookies. PHP também tem como uma das características mais importantes o suporte a um grande número de base de dados, como por exemplo: dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL entre outros. Construir uma página baseada em base de dados torna-se uma tarefa extremamente simples com PHP. Além disso, PHP tem suporte a outros serviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir sockets e interagir com outros protocolos.
  • Como surgiu a Linguagem PHP? A Linguagem PHP surgiu por volta de 1994, com um pacotes de programas CGI criados por Rasmus Lerdof, (Personal Home Page Tools), para substituir um conjunto de scripts Perl, que usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacotes da Linguagem PHP com o nome de PHP/FI, com a ferramenta Forms Interpreter, um interpretador de comandos SQL. Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores Web. Diversos módulos são criados no repositório de extensões PECL (PHP Extension Community Library) e alguns desses módulos são introduzidos como padrão em novas versões da linguagem. Pode ser, dependendo da configuração do servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, AIX, IRIX e Solaris. PHP 3 Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação dos objectos, que dava para alcançar alguns pacotes. Tinha herança e dava aos desenvolvedores a possibilidade de implementar propriedades e métodos funcionais. PHP 4 Pouco depois, Zeev Suraski e Andi Gutmans, criaram o PHP 4, abandonando o PHP 3, dando mais força à máquina da linguagem e maior número de recursos de orientação a objectos. O problema que apresentou o PHP 4 foi a criação de cópias de objectos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como são as linguagens Java , Small talk entre outras. O problema foi resolvido na versão actual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objecto, se copiarmos um apontador, se fizermos alguma alteração na versão original do objecto, todas sofrem a alteração, o que não acontecia na Linguagem PHP 4. PHP 5 Em Junho de 2004 foi lançada a versão PHP 5, introduzindo um novo modelo de orientação a objecto, incluindo a reformulação dos construtores e adição de destrutores, visibilidade de acesso, abstracção de objecto e interfaces de objectos. O tratamento de objectos do PHP foi completamente reescrito, permitindo um melhor desempenho e com mais vantagens. Enquanto na versão anterior era preciso muito esforço para compreender à orientação a objectos e aos padrões de projectos (alguns não eram possíveis), o PHP 5 veio para acabar essa deficiência. Ainda sofre nesse sentido, contudo, por problemas devido a ser uma linguagem de ripagem fraca.
  • O código PHP O código PHP fica introduzido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes “tags”: <?php comandos ?> <script language=”php”> comandos </script> <? comandos ?> <% comandos %> O tipo de “tags” mais utilizado é o terceiro, que consiste em uma “abreviação” do primeiro. Para utilizá-lo, é necessário habilitar a opção “short-tags” na configuração do PHP. O último tipo serve para facilitar o uso por programadores acostumados à sintaxe de ASP. Para utilizá-lo também é necessário habilitá-lo no PHP, através do arquivo de configuração “php.ini”. Separador de instruções Entre cada instrução em PHP é preciso utilizar o ponto-e-vírgula, assim como em C, Perl e outras linguagens mais conhecidas. Na última instrução do bloco de script não é necessário o uso do ponto-e-vírgula, mas por questões estéticas recomenda-se sempre. Nomes de variáveis A variável em PHP tem um nome composto pelo carácter $ e uma string, que deve iniciar por uma letra ou um carácter “_”. PHP é case sensitive, ou seja, as variáveis $vivas e $VIVAS são diferentes. Por isso é preciso ter muito cuidado ao definir os nomes das variáveis. Evitar sempre os nomes em maiúsculas, como podemos ver mais á frente, o PHP já possui algumas variáveis pré-definidas cujos nomes são formados por letras maiúsculas.
  • Comentários Comentários de uma linha: Introduzir um comentário até ao final da linha ou até ao final do bloco de código PHP. Pode ser designado pelo carácter “#” ou por duas barras (//). Exemplo: <? echo “teste”; #isto é um teste?> <? echo “teste”; //este teste é similar ao anterior?> Comentários de uma ou mais linhas: Podemos introduzir os caracteres “/*” para o início do bloco e “*/” para o final do comentário. Exemplos: <? echo “teste”; /* Isto é um comentário com mais de uma linha, mas não funciona correctamente ?> */ <? echo “teste”; /* Isto é um comentário com mais de uma linha que funciona correctamente */ ?> Os primeiros Scripts Neste exemplo, criei um script com uma saída simples, que servirá para testar se a instalação foi feita correctamente: <html> <head><title>Brincar no PHP</title></head> <body> <?php echo "Primeiro Script"; ?> </body> </html> Guarde o arquivo como “primeiro.php3” na pasta de documentos do Apache (ou o Web Server escolhido). Abra o browser e insira o endereço “http://localhost/primeiro.php3”. Verificar o código da fonte da página exibida, temos o seguinte:
  • <html> <head><title>Brincar no PHP</title></head> <body> Primeiro Script </body> </html> Isto mostra como o PHP funciona. O script é executado no servidor, fica disponível para o utilizador apenas o resultado. Agora vamos escrever um script que produza exactamente o mesmo resultado utilizando uma variável: <html> <head><title>Brincar no PHP</title></head> <body> <?php $texto = "Primeiro Script"; echo $texto; ?> </body> </html> Formulários HTML Ao clicar no botão “Submit” um formulário HTML, as informações dos campos serão enviadas ao servidor específico para que possa ser produzida uma resposta. O PHP trata esses valores como variáveis, cujo nome é o nome do campo definido no formulário. O exemplo a seguir mostra isso, e mostra também como o código PHP pode ser inserido em qualquer parte do código HTML: <html> <head><title>Brincar no PHP</title></head> <body> <?php if ($texto != "") echo "digitou "$texto"<br><br>"; ?> <form method=post action="<? echo $PATH_INFO; ?>"> <input type="text" name="texto" value="" size=10> <br> <input type="submit" name="sub" value="Enviar!"> </form> </body> </html> Ao guardar o arquivo acima e carregá-lo no browser, o utilizador verá apenas um formulário que contém um espaço para digitar o texto. Ao digitar um texto qualquer e submeter o formulário, a resposta, é o mesmo arquivo PHP (indicado pela constante $PATH_INFO, que retorna o nome do arquivo).
  • Isto acontece porque o código PHP testa o conteúdo da variável “$texto”. Inicialmente é uma string vazia. Quando algum texto é digitado no formulário e submetido, o PHP passa a tratá-lo como uma variável. Como no formulário o campo possui o nome “texto”, a variável com seu conteúdo será “$texto”. Assim, no próximo teste o valor da variável será diferente de uma string vazia, e o PHP imprime um texto antes do formulário. Interagir com o Browser A Linguagem PHP também permite interagir com informações do browser automaticamente. Por exemplo, o script a seguir mostra informações sobre o browser do utilizador. <html> <head><title>Brincar no PHP</title></head> <body> <? echo $HTTP_USER_AGENT; ?> </body> </html> Observe que o resultado mostra características de cada browser, como a versão, e no caso do Communicator até o idioma (“en”). Com isso, se criar uma página com recursos disponíveis no Internet Explorer, por exemplo, pode esconder o código dos outros browsers, com um código semelhante no seguinte exemplo: <html> <head><title>Brincar no PHP</title></head> <body> <? if (strpos($HTTP_USER_AGENT,"MSIE 5") != 0) { echo "Use Internet Explorer"; } else { echo "Não use Internet Explorer"; } ?> </body> </html> Neste exemplo, será apenas apresentado um texto informando se está a ser utilizado o Microsoft Internet Explorer ou não, mas para outras funções poderia ser utilizado algo parecido. É bom notar o aparecimento de mais uma função no código anterior: strpos (string1,string2). Esta função atrasa a posição da primeira apresentação de string2 em string1, a partir do zero, e não atrasa valor algum se não ocorrer. Assim, para testar se a string “$HTTP_USER_AGENT” apresenta string “MSIE”, basta testar se os strpos devolvem algum valor.
  • Acesso na Base de dados Neste documento todos os exemplos referentes ao acesso na base de dados utilizarão a gestão de base de dados MySQL. Para interagir com uma base de dados SQL existem três comandos básicos que devem ser utilizados:  Faz a ligação com o servidor de base de dados;  Selecciona a base de dados a ser utilizada;  Executa uma “query” SQL. Ligação com o servidor A ligação com o servidor de base de dados mySQL em PHP é feita através do comando “mysql_connect”, que tem a seguinte operação: int mysql_connect(string /*host [:porta]*/ , string /*login*/ , string /*senha*/ ); Os parâmetros são bastante simples:  Endereço do servidor (host);  Nome do usuário (login);  A senha para a ligação. A função atrasa um valor inteiro, que é o identificador da ligação estabelecida e deverá ser armazenado numa variável para ser utilizado depois. No exemplo, temos como servidor de base de dados a mesma máquina que funciona o servidor http, como login o utilizador “root” e senha “phppwd”: $ligacao = mysql_connect(“localhost”, “root”, “phppwd”); Assim, se a ligação for bem sucedida o identificador da ligação fica armazenado na variável “$ligação”. Selecção na base de dados Uma vez conectado, é preciso seleccionar a base de dados existente no servidor com o qual queiramos trabalhar. Isso é feito através da função int mysql_select_db, que possui a seguinte sintaxe: int mysql_select_db(string /*nome_base*/, int /*ligacao*/ ); O valor de retorno é 0 se o comando falhar, é 1 em caso de sucesso. O nome da base de dados a seleccionar é o primeiro parâmetro fornecido, seguido pelo identificador da ligação. Recomenda-se sempre explicitar esse valor, para facilitar a legibilidade do código. No exemplo, a base de dados a ser seleccionada possui o nome “ged”: mysql_select_db(“ged”, $ligação); Após a execução desse comando, qualquer consulta executada para aquela ligação utilizará a base de dados seleccionada.
  • Execução de queries SQL Após estabelecida a ligação e seleccionada a base de dados a ser utilizada, quase toda a interacção com o servidor mySQL pode ser feita através de consultas escritas em SQL (Structured Query Language), com o comando mysql_query, que utiliza o seguinte: int mysql_query(string consulta, int [ligacao] ); O valor de retorno é 0, se falhar é 1 em caso de sucesso. Sucesso aqui significa que a consulta está sintacticamente correcta e foi executada no servidor. Nenhuma informação sobre o resultado é retornada deste comando, ou até mesmo se o resultado é o esperado. No caso de a consulta ser um comando SELECT, o valor de retorno é um valor interno que identifica o resultado, que poderá ser tratado com a função mysql_result() e outras. A string query não deve conter ponto-e-vírgula no final do comando, e o identificador da ligação é opcional. Vou criar uma tabela como Exemplo: $cria = “CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))”; mysql_query($cria, $ligacao); Agora como ficou o código completo para executar uma query SQL numa base de dados mySQL, com um exemplo de uma tabela: $conexao = mysql_connect(“localhost”, “root”, “phppwd”); mysql_select_db(“ged”, $conexao); $cria = “CREATE TABLE exemplo (codigo INT AUTO_INCREMENT PRIMARY KEY, nome CHAR(40), email CHAR(50))”; $insere1 = “INSERT INTO exemplo (nome,email) VALUES (“Andre Santos”,”santos@live.net”); $insere2 = “INSERT INTO exemplo (nome,email) VALUES (“Tiago Lopes”,”lopes@hotmail.com”); $insere3 = “INSERT INTO exemplo (nome,email) VALUES (“Guilherme Batista”,”g.b@gmail.pt”); $insere4 = “INSERT INTO exemplo (nome,email) VALUES (“Bill Gattes”,”president@microsoft.com”); mysql_query($cria, $ligacao); mysql_query($insere1, $ligacao); mysql_query($insere2, $igacao); mysql_query($insere3, $igacao); mysql_query($insere4, $igacao);
  • Query SELECT Ao executar uma query SQL SELECT através do comando mysql_query, o identificador do resultado deve ser armazenado numa variável que pode ser tratada de diversas formas. Duas maneiras interessantes de fazer, usamos o comando mysql_result e o comando mysql_fetch_row, respectivamente. O comando mysql_result tem a seguinte forma: int mysql_result(int resultado, int linha, mixed [campo]); Onde o resultado é o identificador do resultado, obtido com o retorno da função mysql_query, linha específica, já que uma query SELECT pode retornar diversas tuplas, e o campo é o identificador do campo a ser exibido, sendo o tipo descrito como mixed pela possibilidade de ser de diversos tipos (neste caso, inteiro ou string). Visualize-mos um exemplo utilizando a tabela criada anteriormente: $consulta = “SELECT nome, email FROM exemplo WHERE email LIKE „santos‟”; $resultado = mysql_query($consulta, $ligacao); printf("Nome: ", mysql_result($resultado,0,"nome"), “<br>n”); printf("e-mail: ", mysql_result($resultado,0,"email"),“<br>”); Com o exemplo acima, o resultado é: Nome: André Santos<br> E-mail: santos@live.net<br> É importante notar que a utilização desta função é complicada, já que no caso de um resultado com várias linhas é preciso controlar o número de linhas para tratá-las (pode-se utilizar a função mysql_num_rows (int resultado), que retorna o número de linhas de um resultado), e no caso de uma alteração no nome do campo é preciso alterar também a maneira de “tratar”. Por isso é aconselhável que se use uma outra função, como por exemplo mysql_fetch_row, que possui a seguinte sintaxe: array mysql_fetch_row(int result); A variável do resultado é o identificador da memória de resultados, obtido como retorno da função mysql_query. O resultado produzido por esta função é de retirar a primeira linha da memória de resultados, e se houver, é colocá-la num array. Assim torna-se fácil tratar um resultado com várias linhas, e sem utilizar os nomes dos campos na rotina do resultado:
  • $consulta = “SELECT nome, email FROM exemplo”; $resultado = mysql_query($consulta, $ligacao); echo "<table border=1>n"; echo "<tr><td>Nome</td><td>e-mail</tr>n"; while ($linha = mysql_fetch_row($resultado)) { printf("<tr><td>$linha[0]</td>”); printf("<td>$linha[1]</td></tr>”); } echo "</table>n"; O código acima irá imprimir todos os registos da tabela, exemplo numa tabela HTML. Se o programador desejar “saltar” alguma(s) linha(s) do resultado, poderá utilizar a função mysql_data_seek, que tem por objectivo definir qual será a próxima linha da memória de resultados a ser imprimida. A sintaxe é: int mysql_data_seek(int resultado, int linha); Se o resultado do identificador é o resultado, a linha ou numero da linha. Retorna 0 em caso de falha, é um valor diferente de zero em caso de sucesso. Existem diversas funções para o tratamento de resultados, que armazenam as linhas em arrays e objectos, assim como outras funções para administrar a base de dados, mas como este documento trata-se de uma introdução, inicialmente não apresentará tópicos avançados.
  • Conclusão A linguagem PHP é uma linguagem de programação de domínio específico, ou seja, estende-se a um campo de actuação que é o WEB, embora tenha variáveis como o PHP-GTK. O Objectivo principal é implementar soluções WEB rápidas, simples e eficientes.
  • Referências Sites: http://pt.wikipedia.org/wiki http://www.apostilando.com