Buscar

Curso de PHP

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

PDF gerado usando o pacote de ferramentas em código aberto mwlib. Veja http://code.pediapress.com/ para mais informações.
PDF generated at: Fri, 06 Dec 2013 10:27:22 UTC
Curso de PHP
Conteúdo
Páginas
Capa 1
Prefácio 1
Introdução 1
Conhecendo a linguagem 3
O PHP 3
Instalação 4
Sintaxe básica 6
Comentários 8
Echo 8
Include 9
If...Else 10
Variáveis 11
Strings 17
Operadores 19
Funções 21
Orientação a Objetos 25
Classes 25
Anexos 26
Exercícios 26
Funções de compressão 27
Funções de Calendário 29
Extensões do PHP 30
Segurança 32
Outras informações 33
Bibliografia 33
Ligações externas 33
Autores 34
Referências
Fontes e Editores da Página 37
Fontes, Licenças e Editores da Imagem 38
Licenças das páginas
Licença 39
Capa 1
Capa
Ir para o Índice
Prefácio
Este é um tutorial de PHP para principiantes, ou seja, para pessoas que nunca tiveram contacto com PHP antes.
Pretende-se um livro simples, seguindo uma ordem de aprendizagem cronológica e ordenada.
Esta obra é o resultado da experiência de várias pessoas, que acreditam que a melhor forma do conhecimento é o
conhecimento compartilhado.
Introdução
Pré-requisitos
Este curso pretende ensinar a desenvolver toda a compreensão sobre a linguagem PHP em pouco tempo (em alguns
meses, dependendo do seu empenho, o leitor já será um bom programador de PHP). Este curso assenta-se numa
técnica de aprendizagem denominada Padrão Eficaz, conceito desenvolvido no livro Introdução à Programação.
Assim sendo, um dos pré-requisitos é a leitura compreensiva deste livro para poder acompanhar este curso com
sucesso. Outras fontes externas serão, obviamente, construtivas.
Se o leitor já tiver alguma experiência com outras linguagens de programação, provavelmente poderá saltar todos os
tópicos do livro de Introdução à Programação, não deixando de ler, naturalmente, a parte sobre o Padrão Eficaz.
O PHP é uma linguagem que, embora possa ser usada para a construção de aplicações baseadas em script para
funcionamento no computador, é muito mais eficaz para a elaboração de scripts para uso em páginas dinâmicas na
Internet. Se a última opção for o seu objectivo - e provavelmente o é -, é importante que tenha uma visão geral sobre
HTML (tags, meta-tags, estrutura do documento), assim como uma abordagem sobre o sucessor do HTML, o
XHTML, e sobre a estrutura de folhas de estilo CSS. Referências poderão ser encontradas aqui: Curso de HTML,
XHTML e CSS.
É necessária a instalação de um servidor Web com PHP. Para o estudo dos temas relacionados com a ligação às 
bases de dados MySQL, é necessária também a existência de um servidor SQL. Para facilitar a instalação e 
configuração destas aplicações, sugerimos aos usuários de Windows (NT series ― NT, 2000 e XP) descarregar a 
última versão do Wamp [1] e instalá-la em seu ambiente. Este pacote inclui o servidor Apache 2, PHP5 e MySQL5 já 
configurados e prontos a arrancar. Usuários de Linux e MacOS possivelmente já têm um servidor Web instalado; 
para informações sobre instalação, se necessário for, e configuração das aplicações, podem consultar os seguintes 
sítios, em inglês: http:/ / www. lampware. org/ , http:/ / www. mysql-apache-php. com/ . No caso de o leitor querer
Introdução 2
saber como se procede para instalar manualmente todo esse software, poderá ler este pequeno tutorial sobre a
instalação do PHP (não incluído no curso).
O uso de um editor PHP com realce de sintaxe será importante para a sua aprendizagem; há vários deles disponíveis
gratuitamente na Internet. Para Linux, há muitos editores que suportam realce de sintaxe, por exemplo, o Kate [2],
para usuários do KDE; o Vim [3], feito originalmente para o terminal, mas que agora conta com versões gráficas
também. No MacOS o Taco [4] é radicalmente a melhor opção.
No Windows, o PHP Editor [5] é uma boa opção, porque já traz o Manual do PHP incluído, um mini-servidor Web e
um interpretador de códigos PHP. No entanto o programa não é atualizado há mais de 3 anos, portanto não suportará
os recursos introduzidos nas versões mais modernas do PHP. Mas também há vários editores oriundos do Linux que
foram portados para o Windows, por exemplo o Vim. Para Windows, também temos o EasyEclipse for PHP [6], que
auxilia na codificação, apresentando alguns tópicos da documentação do PHP, e autocomplete de códigos orientados
a objetos.
Estrutura e método de estudo
Como já referido, este curso usa o método Padrão Eficaz como forma de aprendizagem, onde, em qualquer passo do
estudo, será imprescindível a cópia de todos os exemplos existentes neste livro. Modifique-os à vontade sem medo
de errar, e corra-os no seu servidor.
Referências
[1] http:/ / www. wampserver. com
[2] http:/ / www. kate-editor. org/
[3] http:/ / www. vim. org/
[4] http:/ / tacosw. com/ main. php
[5] http:/ / www. phpeditor. kit. net
[6] http:/ / www. easyeclipse. org/ site/ distributions/ php. html
3
Conhecendo a linguagem
O PHP
PHP quer dizer PHP: Hypertext Preprocessor (PHP: Processador de Hipertexto). Esta linguagem nasceu pela mão
de Rasmus Lerdof em 1994, como um CGI [1] escrito em Linguagem C que inicialmente interpretava muito
facilmente formulários. A primeira designação dada foi de FI (Form Interpreter) porém, devido à criação de
inumeras funções pela comunidade [ PHP Team [2]] que se ia desenvolvendo pela internet, a linguagem teve que, em
1997, ser redenominada como PHP.
Utilização
O PHP é uma das mais abrangentes ferramentas que o homem possui atualmente. Por ser uma linguagem server-side,
ou seja roda direto do servidor e só mostra ao usuário o resultado já processado, o PHP tem poder semelhante ao
famoso Perl. É possível a criação de uma grande variedade de coisas com o PHP, tendo em vista que esta é uma
linguagem que podemos definir como inteligente, pois se não existir uma classe para uma determinada função
podemos criá-la. Porém, ferramentas que rodam do lado do cliente como a abertura de um pop-up, um mimo de
serpentinas a cairem pelo ecrã ou um slideshow de imagens não pode ser criado por esta linguagem. Se procura uma
boa linguagem para criar esse tipo de ferramentas procure o Javascript. É por isso que se diz que o PHP e o
Javascript são linguagens que se complementam!
• Conheça um pouco mais sobre PHP visitando este site [3].
Esta página é um esboço de informática. Ampliando-a você ajudará a melhorar o Wikilivros.
Referências
[1] http:/ / pt. wikipedia. org/ wiki/ CGI
[2] http:/ / www. php. net
[3] http:/ / www. phpbrasil. com
Instalação 4
Instalação
Em Windows
Download dos itens necessários
Primeiro, faça o download dos programas a serem usados.
• Apache [1]. No nosso exemplo, utilizamos o Apache 2.2.9.
• MySQL [2]. No nosso exemplo, utilizamos o MySQL 5.0.51a.
• PHP [3]. No nosso exemplo, utilizamos o PHP 5.2.6.
Instalação
• Execute a instalação do Apache e instale-o com as configurações padrão. Se quiser, pode escolher outro diretório
para a instalação.
• Extraia o MySQL em uma pasta qualquer. Recomendo dentro da pasta onde você instalou o Apache. Ex:
C:\Arquivos de Programas\Apache Group\Apache\mysql.
• Extraia o PHP 5 na pasta C:\php5.
Obs.:
• Existe o arquivo de instalação do PHP (*.msi), porém, o pacote compactado já vem pré-configurado para que rode
mais rápido na máquina na qual está sendo executado.
• É possível descompactar os arquivos do PHP em outro endereço. Por exemplo: C:\Arquivos de programas\PHP5,
porém é necessário informar a mudança de endereço ao Apache.
Para maiores detalhes, consulte a seção de configuração do Apache logo abaixo.
Configuração do PHP
Na pasta aonde se encontra o PHP5, copie os arquivos php5ts.dll e libmysql.dll para a seguinte pasta, de acordo com
o seu Windows:
• Em Windows 9x/Me: C:\windows\system;
• em Windows XP: C:\windows\system32;
• para Windows NT/2000: C:\winnt\system32.O arquivo libmysql.dll é necessário para o funcionamento do MySQL no PHP.
Abra o arquivo php.ini edite a linha extension_dir = "./" alterando-a para extension_dir =
"c:/php5/ext/" — C:/php5/ext/ é o diretório aonde ficam as extensões do PHP (MySQL, Curl, GD, etc).
Caso não encontre o arquivophp.ini no diretório do PHP5, renomeie o arquivo php.ini-dist para php.ini. Agora,
localize a linha ;extension=php_mysql.dll e tire o ponto e vírgula ; de seu início.
Se quiser também, já aproveite e faça o mesmo na linha ;extension=php_gd2.dll, caso queira a biblioteca
GD para a manipulação de imagens.
Salve as alterações e mova o arquivo o php.ini para a pasta:
• C:\windows (em Windows 9x/Me/XP);
• C:\winnt (para Windows NT/2000).
Instalação 5
Configuração do Apache
Acrescente no final do arquivo httpd.conf no endereço C:\Arquivos de programas\Apache Software
Foundation\Apache2.2\conf (por exemplo) as seguintes linhas:
PHPIniDir C:\Arquivos de programas\PHP5\
Este endereço é onde se encontram os arquivos PHP.
LoadModule php5_module C:\Arquivos de programas\PHP5\php5apache2_2.dll
Este endereço é aonde se encontra o arquivo referente a versão do apache, dentro da pasta PHP.
Ainda no endereço C:\Arquivos de programas\Apache Software Foundation\Apache2.2\conf abra o arquivo
mime.types (utilize o bloco de notas mesmo ou outro editor de texto disponível) e acrescente as seguintes linhas:
application/x-httpd-php php
application/x-httpd-php-source phps
Configuração do MySQL
Não há nada para se configurar no MySQL, apenas devemos iniciá-lo caso não tenha sido instalado como serviço (só
é possível no Windows NT/2000/XP). Vá para a pasta na qual foi instalado o MySQL e na pasta bin execute o
arquivo mysqld.exe, iniciando o servidor do MySQL. Lembre-se: dessa maneira teremos que iniciar o MySQL
sempre. Se não quisermos ir até a pasta toda vez que iniciarmos o computador, devemos criar um atalho para o
arquivo mysqld.exe na pasta Inicializar/Iniciar (dependendo da versão do Windows) do Menu Iniciar.
Falta pouco!
Vamos até Arquivo|Iniciar/Programas/Apache HTTP Server/Control Apache Server/Restart para reinicializar
o Apache com as alterações feitas. Pronto! Agora temos PHP5 + MySQL + Apache no Windows!
Para efetuar um teste, criaremos um arquivo chamado phpinfo.php, com o conteúdo:
<?php
phpinfo();
?>
Colocaremos ele na pasta htdocs dentro da pasta do Apache. Abra seu navegador e digite http:/ / localhost/ phpinfo.
php . Se a página abrir com as informações do PHP, significa que tudo deu certo.
Obs.: Lembrando que nos caminhos que foram mostrados, o C:\ deve ser substituído pela unidade na qual está seu
Windows e que também é aonde estão instalados os programas. Utilizamos a unidade C:\ no artigo pois é a letra que
é normalmente utilizada.
Caso queira usar register_globals no PHP, abra o arquivo php.ini no endereço C:\windows\ e localize a
linha register_globals = Off e troque Off por On. Saiba mais neste endereço: http:/ / www. php. net/
manual/ pt_BR/ security. registerglobals. php
Instalação 6
Em Linux
Ver instruções em inglês: Setup and Installation (Linux) [4]
Referências
[1] http:/ / httpd. apache. org/ download. cgi
[2] http:/ / dev. mysql. com/ downloads/
[3] http:/ / www. php. net/ downloads. php
[4] http:/ / en. wikibooks. org/ wiki/ PHP_Programming/ Setup_and_Installation#Linux
Sintaxe básica
Definir o início e o fim do código PHP
Para que o interpretador PHP reconheça o código que deverá "varrer" é necessário delimitá-lo por tags. Existem
três tipo de tags de iniciação e finalização de código: <?php e ?>, <? e ?> e <script language="php">
e </script>. A primeira é usada por omissão, estando sempre disponível. O segundo tipo não é aconselhável uma
vez que, por ser uma short-tag (bem à maneira do ASP), poderá não estar activada no ficheiro de configuração do
PHP. Neste caso qualquer utilizador poderá manipular essa activação ou desactivação da short-tags, logo, se o leitor
criar um script para ser distribuído poderão surgir incompatibilidades com a máquina do utilizador final. O terceiro
tipo foi criado apenas com o propósito de uniformizar as tags de scripting no HTML (como o uso no javascript),
porém, por ser de digitação morosa, não é muito usada.
Programa Hello World.php:
<?php
echo "Olá mundo";
?>
ou (não recomendado):
<?
echo "Olá mundo";
?>
Para ter uma ideia gráfica sobre o que está a ser explicado, analise o primeiro exemplo:
<html>
 <head>
 <title>Meu primeiro script</title>
 </head>
 <body>
 <?php
 echo "Olá mundo";
 ?>
 </body>
</html>
A instrução echo(), como pôde analisar, exibe no navegador o texto que se encontra imediatamente a seguir a ele.
Sobre echo() iremos falar mais tarde.
Sintaxe básica 7
Gravar arquivos em php
Para que o interpretador reconheça uma página que contenha código php, qualquer arquivo em php deve ser gravado
com a extensão .php em vez de .html .
Dependendo da configuração do apache (httpd.conf) poderão ser utilizadas as extensões .php3 ou derivações, o que é
comumente encontrado em sistemas mais antigos, o número 3 representa a versão do php, hoje já não é mais feita
esta distinção, mas não se assustem ao encontrar um arquivo com extensão php3.
Por exemplo index.php e não index.html. Se for usada a extensão .html o servidor não irá reconhecer e executar o
código. E consequentemente irá mostrar o código que você escreveu e não o resultado que o código deveria gerar.
Usar o ponto e vírgula no final de cada comando
Após qualquer instrução, é necessário o uso de um ; para que o interpretador reconheça que determinada instrução
acaba aí. Após ; o interpretador processa a instrução, exibindo-a na memória do computador e, se não houver erros,
passa para a próxima instrução.
Exemplo:
<?php
 echo "Olá como estás?";
 echo "Tudo bem contigo?";
?>
ou
<?php echo "Olá como estás?"; echo "Tudo bem contigo?" ?>
Notem que nesse segundo caso foi retirado a quebra de linhas porque o ponto e vírgula ; é que delimita o comando.
E foi retirado o ponto e vírgula ; do último comando porque logo após é fechada a tag do php, não é uma boa
prática, porém funciona.
<?php echo "Se não usar ponto e vírgula (;) o interpretador irá exibir um erro"; ?>
Obs.: Repare bem que o uso de ; no meio texto a ser exibido não afeta a instrução.
Comentários 8
Comentários
Comentários são tudo aquilo que descrevemos no PHP, sem que o interpretador as varre. O Leitor pode escrever
tudo o que quiser dentro dos comentários sem se importar com o tamanho ou o conteúdo escrito.
Como o PHP é baseado no C e no C++, ele suporta a sintaxe de comentários das duas linguagens, veja baixo.
Com /* comentário */:
<?php
/* Isto é um comentário
 de várias linhas no PHP */
echo "Comentário acima!";
?>
Com //comentário:
<?php
echo "Outro comentário!"; //Comentário de um linha só
?>
Existe também outro tipo de comentário, igual ao usado no shell do Unix:
# comentário de linha única proveniente do shell
Mas não é recomendado usar este último, pois será descontinuado em versões futuras do PHP.
Echo
A função echo é a instrução que envia para a saída qualquer informação, podendo conter texto, números ou
variáveis.
Deixemos os exemplos com variáveis para quando entendermos o uso das variáveis nos capítulos subsequentes.
Exemplo de uso do echo:
<?php
echo "Olá, tenho ";
echo 22;
echo " anos.";
?>
Podemos abreviar essa escrita concatenando os três parâmetros que fornecemos pelo operador . (ponto,
concatenador de strings):
<?php
echo "Olá, tenho 22 anos.";
?>
Nos dois exemplos acima o resultado obtido é o mesmo.
Echo 9
Formatação do texto
As strings passadas para a instrução echo também podem conter formatações de texto em HTML, já que, na
maioria dos casos, o PHP é usado para produzir saída em HTML. Porexemplo:
<?php
echo "<h2> Título em h2 </h2>";
echo "<h3> título em h3 </h3>";
echo "<i>Em itálico</i>";
echo "<b>Em negrito</b>";
echo "<strong>Em negrito</strong>";
?>
Usando as aspas
Para poder usar as aspas numa frase estas deverão ser precedidas por \ (barra invertida).
<?php
echo "Na frase a seguir o nome xpto virá dentro de aspas: ";
echo "O personagem que eu mais gosto é o \"xpto\", sem dúvida";
?>
As aspas duplas " podem sempre ser substituídas por apóstrofos/aspas simples '. Ambas as formas estão corretas.
No caso de usar os apóstrofos, deverá usar a expressão \' para escrever apóstrofos no ecrã. A principal diferença
entre os dois tipos de aspas é que, com aspas duplas, certas seqüências de caracteres são interpretadas de maneira
especial.
Include
O comando PHP include é muito útil porque permite incluir dinamicamente o conteúdo de um ficheiro PHP
dentro de outro.
Uma das utilizações mais simples é criar menus para um site que depois podem ser utilizados em outras páginas. No
exemplo a seguir criaríamos um ficheiro chamado navegar.inc que poderia ser incluído em qualquer página do site.
Em cada ficheiro em que se quisesse incluir o ficheiro navegar.inc, escreveríamos:
<?php include("navegar.inc"); ?>
Poderiamos ter o menu do ficheiro navegar.inc em qualquer página. Bastava alterar o menu em navegar.inc para o
alterar em qualquer página.
Obs.: Evite utilizar arquivos (ficheiros) em PHP que não terminem com a extensão PHP. Dizemos isso por motivos
de segurança, já que, tendo a URL de um arquivo de extensão como .inc ou .class, o browser exibirá todo o seu
conteúdo (código, senhas, usuários, etc), pois esse tipo de arquivo não é interpretado pelo servidor. Então devemos
usar algo como pagina.inc.php ou pagina.class.php, etc.
If...Else 10
If...Else
A palavra-chave if em português equivale ao se, já o else ao se não.
Se ocorrer a condição A, então o bloco de instruções abaixo de A é executado, se não (else), então o bloco de
instruções abaixo de B é executado.
Veja abaixo como é a sintaxe.
if( condição ) //A
{ comando;
 ...
 comando; //Bloco de instruções A.
}
else //B
{ comando;
 ...
 comando; //Bloco de instruções B.
}
Exemplo:
$a=10;
$b=15;
if($a<$b)
echo "Variável A é menor que B";
else //Se não.
echo "Variável B é menor que A";
Exemplo de uso do if e else:
$x=3;
if ($x==2){
 echo "x vale 2";
} else if ($x==3){
 echo "x vale 3";
}else{
 echo "x é diferente de 2 e de 3";
}
Lembrando que no if, para testar o valor de uma variável, usamos == e não apenas =.
Variáveis 11
Variáveis
Variáveis:
• Começam sempre pelo símbolo $ seguido de uma letra.
• Podem conter símbolos numéricos (0 - 9) alfanuméricos minúsculos (a - z) e alfanuméricos maíusculos.
• Não podem conter espaços! Se tiverem mais do que uma palavra deverão ser interligadas por um underscore _.
Por exemplo: $total_variavel.
Alguns exemplos de variáveis
<?php
$minha_variavel=4;
$minha_string="super ";
echo "$minha_string "." $minha_variavel";
?>
O ponto . após a variável $minha_string concatena as variáveis.
Deverá escrever na tela do navegador: super 4.
Tipos
O PHP suporta todos os oito tipos primitivos.
Boolean
O boolean é um valor lógico que pode assumir ou true ou false.
Neste exemplo o valor boleano é nos dado a conhecer pela função gettype():
<?php
echo gettype((bool) ""); // bool(false)
echo gettype((bool) 1); // bool(true)
echo gettype((bool) "foo"); // bool(true)
?>
Aqui apresentamos duas variáveis com valores lógicos:
<?php
$foo = TRUE;
$foo = FALSE;
?>
Como podemos ver no exemplo acima, uma expressão tem um valor boleano true se ela contiver alguma coisa, e
false se o seu conteúdo for nulo.
Variáveis 12
Inteiros
Um inteiro é um número do conjunto Z = { ...,-3,-2,-1,0,1,2,3,... }. Pode-se especificar através de notação decimal
(de base 10), hexadecimal (base 16) ou octal (base 8), opcionalmente precedido de sinal (- ou +).
Representação de inteiros:
<?php
$a = 1234; # número decimal
$a = -123; # número negativo
$a = 0123; # número octal - precedido de um 0 - equivalente a 83 em 
decimal
$a = 0X1A; # número hexadecimal - precedido de um 0 e um X - 
equivalente a 26 em decimal
?>
Se você especifica um inteiro além dos limites de um inteiro, o PHP o interpreta como um ponto flutuante, veja
abaixo.
<?php
$num = 2147483647;
var_dump($num); // Saída: int(2147483647)
?>
Ou:
<?php
$num = 2147483648;
var_dump($num); // Saída: float(2147483648)
?>
É necessário ter em atenção que na saída de uma fracção para um inteiro', os arredondamentos não seguem a regra
matemática, sendo assim é necessário o uso da função round():
<?php
var_dump(25/7); //float(3.5714285714286)
var_dump((int) 25/7); //int(3)
var_dump(round(25/7)); //float(4)
?>
Evite transformar uma fracção de valor desconhecido para inteiro.
Números de ponto flutuante
Os números de ponto flutuante (floats e doubles) são números com casas decimais, onde, aqui, a vírgula é substituída
por um ponto:
<?php
$a = 1.234;
$b = 1.3e4;
$c = 25.4E-10;
?>
Aqui também é necessário ter em atenção os arredondamentos.
Variáveis 13
Strings
Uma string é uma série de caracteres sem limites de comprimento. Ela é delimitada, no PHP, por Aspas, apóstrofo ou
pela nova sintaxe heredoc:
<?php
echo 'string delimitada por apóstrofos!';
echo "string delimitada por Aspas";
echo <<<EOF
String delimitada por um heredoc
EOF;
?>
A inclusão de variáveis funciona aqui de várias maneiras. Vamos ver:
<?php
$carro = "Mercedes";
echo "Ele comprou um bonito $carro"; // funciona
echo "Eles compraram vários {$carro}s"; // funciona
echo "Eu faço um ${carro}"; // funciona
?>
As saídas serão:
•• Ele comprou um bonito Mercedes
•• Eles compraram vários Mercedess
•• Eu faço um Mercedes
Podemos também modificar strings:
<?php
$str = "Olha que alí há mal"; // Apresenta "Olha que alí há mal"
$str{strlen($str)-1} = "r"; // Apresenta "Olha que alí á mar"
?>
Ou:
<?php
$str = "Pegue isto"; // Apresenta "Pegue isto"
$str{strlen($str)-10} = "S"; // Apresenta "Segue isto"
?>
Cabe à função strlen() essa tarefa.
A função strlen(): retorna o tamanho de uma String.
Arrays
Um array é um mapa ordenado, com chaves e valores.
Exemplo:
<?php
$arr = array(1 => "um", 2 => "dois", 3 => TRUE);
echo $arr[1]; // Imprime "um"
echo $arr[3]; // Imprime "TRUE"
Variáveis 14
?>
Aqui nos é apresentado 3 chaves (1, 2 e 3) e 3 valores ("um", "dois" e TRUE).
Então podemos pegar uma chave de um array para imprimirmos o valor correspondente. Podemos também definir
um array como vários array:
<?php
$arr = array("versão" => array ("beta" => "0.5x",
 "alpha" => "0.1x",
 "release" => "0.8x",
 "final" => "1.x"
 ),
 "nome" => "PHP software",
 "SO" => array("win" => "Windows",
 "lin" => "Linux",
 "mac" => "MacOS"
 )
 );
// Vamos agora remover um elemento do array, visto que o nosso software
 já passou a fase alpha
unset($arr["versão"]["alpha"]);
// Também podemos apagar o array inteiro. Já não vamos disponibilizar o
 nosso software
unset($arr);
?>
Podemos especificar apenas valores num array, sendo que o interpretador irá tornar cada um dos valores com uma
chave a partir do zero.
<?php
$arr = array(1,45,23,68);
echo $arr[1]; // imprime 45
// Vamos agora apagar um valor e reindexar o nosso array:
unset($arr[1]);
$arr =array_values($arr);
// Não podemos imprimir o nosso array através de echo. Temos que fazer 
isso com print_r():
print_r($arr);
?>
Variáveis 15
Manipulação de Tipos
No PHP não é necessário definir o tipo que queremos usar, ou seja, este é determinado pelo contexto em que é
usado. Por exemplo, $var = "string" é uma string, já $var = 12, é um inteiro.
Para alternarmos entre os tipos usamos uma sintaxe de moldagens:
<?php
$foo = 5; // $foo é um inteiro
$bar = (boolean) $foo; // $bar é um boleano
?>
Moldagens permitidas:
• int ou integer: moldar para inteiro.
• bool ou boolean: moldar para booleano.
• float, double ou real: moldar para número de ponto flutuante.
• string: moldar para string.
• array: moldar para array.
• object: moldar para objecto.
Exemplos de moldes:
<?php
$str = "Eu sou string";
$int = 12;
$num = 25/85;
$a = (boolean) $str;
$b = (string) $int;
$c = (int) $num;
echo $a . $b . $c;
?>
Variáveis
As variáveis são no PHP representadas por um $ seguido do nome a ela atribuído. É necessário ter em conta alguns
cuidados quando criamos variáveis:
<?php
$var = "Bom ";
$Var = "dia!";
echo $var . $Var; // Exibe "Bom dia!"
$25arrobas = "Ainda por cumprir!"; // INVÁLIDO - Nenhum nome de 
variável pode
começar por uma expressão numérica
$_25arrobas = "Quase na linha!"; // VÁLIDO - Nome começa por _
?>
É possível escrever-se qualquer um dos 8 tipo primitivos numa variável. As variáveis são usadas para se atribuir um
valor e guardá-lo na memória do computador para execução posterior:
Variáveis 16
<?php
$var = "Ganhou um prémio!";
$count = 3;
if ($count < 5){
 echo $var;
}
?>
O script acima exibirá "Ganhou um prémio!" se o valor da variável $count for menor que 5.
Variáveis predefinidas
O PHP oferece variáveis predefinidas de informações vindas do servidor e do navegador, que podem ser usadas pelo
programador. são as chamadas superglobais.
$GLOBALS
Contém referências para todas as variáveis que estão disponíveis dentro do script.
<?php
 print_r($GLOBALS);
?>
É possível fazer a referencia de um dos itens da variável GLOBALS:
<?php
 echo $GLOBALS["_SERVER"]["HTTP_HOST"];
?>
$_SERVER
Variáveis criadas pelo servidor web e relacionadas com o ambiente de execução.
Pode-se acessar os valores de _SERVER diretamente:
<?php
 echo $_SERVER["HTTP_USER_AGENT"];
?>
$_GET
Variáveis enviadas por script para o servidor via método HTTP GET. O que é enviado pelo formulário é mostrado na
barra de endereço.
$_POST
Variáveis enviadas por script para o servidor via método HTTP POST. O que é enviado pelo formulário não é
mostrado na barra de endereço do navegador.
$_COOKIE
Variáveis enviadas por script para o servidor via cookies HTTP.
Variáveis 17
$_FILES
Variáveis enviadas para o script com todas as informações relativas aos arquivos enviados via HTTP.
$_ENV
Variáveis disponíveis no script do ambiente em execução. Em Web é igual ao $_SERVER.
$_REQUEST
Possui todas as variáveis englobadas em $_GET, $_POST e $_COOKIE. Em desuso devido à demora na realização
do script!
$_SESSION
Variáveis que estão diretamente relacionadas no registro da sessão no script.
Strings
Uma string é uma cadeia de caracteres. Geralmente são frases, textos ou linhas de comando.
Algo importante que deve ser considerado é o seguinte: todas as strings devem ser declaradas entre aspas simples
(') ou aspas duplas (").
Aspas simples e Aspas duplas
Existe uma diferença básica entre aspas simples e aspas duplas.
Com aspas simples, você têm uma string realmente como ela foi declarada, independente de qualquer caractere
especial (com exceção do caractere de escape - \). Se você deseja inserir uma aspa simples dentro de uma string
declarada com a mesma, deve, então, "escapa-la".
<?php
print 'Preciso beber um copo d\'água';
// Imprime: Preciso beber um copo d'água
?>
Aspas duplas são exatamente iguais as aspas simples, exceto no quesito da interpretação e da velocidade. As aspas
duplas interpretam qualquer variável, matriz (quando estiver entre {}) e comandos de texto (\n (quebra de linha),
\t (tabulação), \r (retorno de carro). Como o interpretador tem que percorrer toda a string em busca de variáveis,
matriz e comandos de texto, a impressão de uma string declarada com aspas duplas pode ser um pouco mais
demorada que a de aspas simples.
<?php
$variavel = 'uma frase';
print "Esta é $variavel bem simples";
// Imprime: Esta é uma frase bem simples
Strings 18
?>
Concatenando strings
A concatenação nada mais é do que a junção de duas ou mais strings. Isso pode se dar também com variáveis,
matrizes, constantes e qualquer outro parâmetro que não puder ser passado (ou que talvez você não queira passar)
dentro de uma string.
O operador de concatenação é o ponto (.).
<?php
print 'Estou concatenando '.'duas strings';
// Imprime: Estou concatenando duas strings
?>
Podemos também concatenar com variáveis.
<?php
$variavel = 'mar';
print 'O '.$variavel.' é azul';
// Imprime: O mar é azul
?>
Operadores 19
Operadores
Existem vários operadores usados no PHP.
Operadores aritméticos
Nome Exemplo Significado
Adição $a + $b Soma de $a e $b
Subtração $a - $b Diferença entre $a e $b
Multiplicação $a * $b Produto de $a e $b
Divisão $a / $b Quociente de $a por $b (divisão de ponto flutuante)
Módulo $a % $b Resto da divisão de $a por $b
Exemplo:
<?php
$a = 2;
$b = 15.5;
echo $a + $b;
?>
Operadores Bit-a-Bit
Os operadores Bit-a-Bit permitem a manipulação de bits específicos dentro das expressões.
Nome Exemplo Significado
AND $a & $b Os bits que estão ativos tanto em $a quanto em $b são ativados.
OR $b Os bits que estão ativos em $a ou em $b são ativados.
XOR $a ^ $b Os bits que estão ativos em $a ou em $b, mas não em ambos, são ativados.
NOT ~$a Os bits que estão ativos em $a não são ativados, e vice-versa.
Deslocamento à esquerda $a << $b Desloca os bits de $a $b passos para a esquerda (cada passo significa "multiplica por dois")
Deslocamento à direita $a >> $b Desloca os bits de $a $b passos para a direita (cada passo significa "divide por dois")
Exemplo:
<?php
echo 12 ^ 9;
echo "12" ^ "9";
echo "hallo" ^ "hello";
?>
Operadores 20
Operadores de Comparação
Os Operadores de comparação permitem a comparação de dois valores.
Nome Exemplo Significado
Igual $a == $b Verdadeiro se $a é igual a $b
Idêntico $a === $b Verdadeiro se $a igual a $b e do mesmo tipo
Diferente $a != $b Verdadeiro se $a diferente de $b
Diferente $a <> $b Verdadeiro se $a diferente de $b
Não idêntico $a !== $b Verdadeiro se $a diferente de $b, ou não são do mesmo tipo
Menor que $a < $b Verdadeiro se $a menor que $b
Maior que $a > $b Verdadeiro se $a maior que $b
Menor ou igual $a <= $b Verdadeiro se $a menor ou igual a $b
Maior ou igual $a >= $b Verdadeiro se $a maior ou igual a $b
Exemplo:
<?php
$a = 5;
$b = 4;
if ($a > $b) {
 echo "$a é maior que $b";
}
?>
Funções 21
Funções
Funções no PHP ajudam muito no desenvolvimento de codigos, reaproveitar codigos é excencial para a
produtividade em um sistema, mostro abaixo um exemplo simples para uma função de conectar ao banco de dados
indiferente do banco do usuario e senha que for usar.
<?php
function conectar($usuario, $senha, $banco){
$con = mysql_connect("localhost", $usuario, $senha) or die 
(mysql_error());
mysql_select_db($banco, $con)or die (mysql_error());
}
?>
para se chamar a função no mesmo arquivo apenas fazemos isso
<?php
// função
//....
//
conectar("root", "******", "banco_dados");
?>
Para se chamar de outra classe utilizando Orientação Objetos utilizamos dessa forma
<?php
class Config{
 publicfunction conectar($usuario, $senha, $banco){
 $con = mysql_connect("localhost", $usuario, $senha) or die 
(mysql_error());
 mysql_select_db($banco, $con)or die (mysql_error());
}
}
?>
Chamada para a classe externa
<?php
include = 'Config.php';
$con = new Config();
$con->conectar("root", "******", "banco_dados");
?>
Prontinho, esse é um exemplo simples de como usuar funcoes em PHP.
Coloca em extenso valores monetários.
function extenso($valor=0, $maiusculas=false) {
 $singular = array("centavo", "real", "mil", "milhão", "bilhão", 
"trilhão", "quatrilhão");
 $plural = array("centavos", "reais", "mil", "milhões", "bilhões", 
Funções 22
"trilhões", "quatrilhões");
 $c = array("", "cem", "duzentos", "trezentos", "quatrocentos", 
"quinhentos", "seiscentos", "setecentos", "oitocentos",
"novecentos");
 $d = array("", "dez", "vinte", "trinta", "quarenta", "cinquenta", 
"sessenta", "setenta", "oitenta", "noventa");
 $d10 = array("dez", "onze", "doze", "treze", "quatorze", "quinze", 
"dezesseis", "dezesete", "dezoito", "dezenove");
 $u = array("", "um", "dois", "três", "quatro", "cinco", "seis", 
"sete", "oito", "nove");
 $z=0;
 $valor = number_format($valor, 2, ".", ".");
 $inteiro = explode(".", $valor);
 for($i=0;$i<count($inteiro);$i++)
 for($ii=strlen($inteiro[$i]);$ii<3;$ii++)
 $inteiro[$i] = "0".$inteiro[$i];
 $fim = count($inteiro) - ($inteiro[count($inteiro)-1] > 0 ? 1 : 2);
 for ($i=0;$i<count($inteiro);$i++) {
 $valor = $inteiro[$i];
 $rc = (($valor > 100) && ($valor < 200)) ? "cento" : $c[$valor[0]];
 $rd = ($valor[1] < 2) ? "" : $d[$valor[1]];
 $ru = ($valor > 0) ? (($valor[1] == 1) ? $d10[$valor[2]] : 
$u[$valor[2]]) : "";
 $r = $rc.(($rc && ($rd || $ru)) ? " e " : "").$rd.(($rd && $ru)
 ? " e " : "").$ru;
 $t = count($inteiro)-1-$i;
 $r .= $r ? " ".($valor > 1 ? $plural[$t] : $singular[$t]) : "";
 if ($valor == "000")$z++; elseif ($z > 0) $z--;
 if (($t==1) && ($z>0) && ($inteiro[0] > 0)) $r .= (($z>1) ? " de "
 : "").$plural[$t];
 if ($r) $rt = $rt . ((($i > 0) && ($i <= $fim) && ($inteiro[0] > 0) && ($z < 1)) ? ( ($i < $fim) ? ", " : " e ") : " ") .
$r;
 }
 if(!$maiusculas){
 return($rt ? $rt : "zero");
 } else {
 return (ucwords($rt) ? ucwords($rt) : "Zero");
 }
}
Exemplo de Uso: echo extenso(12.62); // Exibirá: "Doze reais e sessenta e dois centavos.
Funções 23
Publicada originalmente no Viva o Linux.
Autor: Wanderson <p1rat4@yahoo.com.br>
Data: 24/09/2007
Comentários:
Esta é uma função para ajudar a fazer a paginação em páginas PHP; ela reconhe alguns dados e cria um array
contendo o total de páginas e um texto HTML com a paginação própriamente dita, que pode por exemplo ser
colocada no topo e rodapé.
A sintaxe é array paginar(PáginaAtual, TotalASerExibido, ExibiçõesPorPágina, URLParaOsLinks, FormatoDoTexto
[<<, nada ou 'primeira' por exemplo], LimiteDeEspaçamento, ClasseCSSParaLinks, ClasseCSSParaInativos);
O indice 0 é o HTML e 1 é o total de páginas.
<?
function paginar($atual, $total, $nopg, $url, $textos, $diferenca, 
$cssL, $cssN) {
 $limite = ceil($total / $nopg);
 $res[1] = $limite;
 # Primeira página
 if($atual == 1) {
 if($textos == 1) {
 $res[0] = " <span class="".$cssN."">primeira</span> \n <span class="".$cssN."">anterior</span> ";
 } else if($textos == 2) {
 $res[0] = " <span class="".$cssN."">&lt;&lt;</span> \n <span class="".$cssN."">&lt;</span> ";
 }
 } else {
 if($textos == 1) {
 $res[0] = " <span class="".$cssL.""><a href="".$url."1">primeira</a> \n <a class="".$cssL."" href="".$url.($atual - 1)."">anterior</a></span> ";
 } else if($textos == 2) {
 $res[0] = " <span class="".$cssL.""><a href="".$url."1">&lt;&lt;</a> \n <a class="".$cssL."" href="".$url.($atual - 1)."">&lt;</a></span> ";
 }
 }
 # Paginação
 $minimo = ($atual - $diferenca);
 if($minimo < 1) {
 $minimo = 1;
 }
 $maximo = ($atual + $diferenca);
 if($maximo > $limite) {
 $maximo = $limite;
 }
 #Pões reticências
 if($minimo > 1) {
 $res[0] .= "\n <span class="".$cssN."">...</span> ";
 }
Funções 24
 for($i = $minimo; $i <= $maximo; $i++) {
 if($i == $atual) {
 $res[0] .= "\n <span class="".$cssN."">".$i."</span> ";
 continue;
 }
 $res[0] .= "\n <span class="".$cssL.""><a href="".$url.$i."">".$i."</a></span> ";
 }
 #Põe reticências
 if($maximo < $limite) {
 $res[0] .= "\n <span class="".$cssN."">...</span> ";
 }
 # Última página
 if($atual == $limite) {
 if($textos == 1) {
 $res[0] .= "\n <span class="".$cssN."">pr&oacute;xima</span> \n <span class="".$cssN."">&uacute;ltima</span> ";
 } else if($textos == 2) {
 $res[0] .= "\n <span class="".$cssN."">&gt;</span> \n <span class="".$cssN."">&gt;&gt;</span> ";
 }
 } else {
 if($textos == 1) {
 $res[0] .= "\n <span class="".$cssL.""><a href="".$url.($atual + 1)."">pr&oacute;xima</a> \n <a class="".$cssL."" href="".$url.$limite."">&uacute;ltima</a></span> ";
 } else if($textos == 2) {
 $res[0] .= "\n <span class="".$cssL.""><a href="".$url.($atual + 1)."">&gt;</a> \n <a class="".$cssL."" href="".$url.$limite."">&gt;&gt;</a></span> ";
 }
 }
 return $res;
 unset($atual,$total,$nopg,$url,$textos,$cssL,$cssN,$limite,$res);
}
?>
Ligações externas
• http:/ / www. vivaolinux. com. br/ scripts/ verFonte. php?codigo=2992 .
25
Orientação a Objetos
Classes
Classes são tipos predeterminados que contém atributos e métodos.
Objetos
O objeto é o resultado da união entre uma estrutura de dados e todas as operações associadas a ela.
Inicialização de objetos
Para inicializar um objeto, você usa a instrução new, criando uma instancia do objeto em variável. Conforme a figura
abaixo:
Sintaxe de como utilizar objetos em PHP:
<?php
class Primeira {
 function mostrar() {
 echo "mostrando na tela";
 }
}
$frase = new Primeira();
$frase->mostrar();
?>
26
Anexos
Exercícios
Exercício 1: Analise de código
<html>
 <head><title>Exercício</title>
 </head>
 <body>
 <?php
 $str = array("morango" => "vermelho" , "banana" => "amarela");
 echo "O morango é ".$str{"morango"}."<br>";
 $first = $str["banana"];
 echo "A banana é ".$first."<br>";
 // um exemplo de como isto vai ficar
 echo "O Morango é".$str{"morango"}."<br>";
 $first = $str["banana"];
 $first(strlen($first)-1) = "a";
 echo "A banana é ".$first."<br>"; /*Uma saída
 print_r($str);
 var_dump($str);
 ?>
 </body>
</html>
1. Tente descobrir onde está o erro neste script.
2.2. Os comentários existentes estão bem integrados (têm a sintaxe correcta)?
Exercício 2: Perguntas de Verdadeiro e Falso
<quiz display=simple> {O PHP pode escrever scripts que rodem do lado do cliente? |type="()"} - Verdadeiro. +
Falso.
{Para correr PHP preciso de um servidor Web? |type="()"} - Verdadeiro. + Falso.
{O uso de short-tags, tais como <? e ?> é mais benéfico do que as outras tags porque assim perco menos tempo a
escrever o código. |type="()"} - Verdadeiro. + Falso.
{O PHP é mantido por uma comunidade de programadores pela internet e está acessível a toda a gente. |type="()"} +
Verdadeiro. - Falso.
{O PHP é uma linguagem de programação compilada? |type="()"} - Verdadeiro. + Falso. </quiz>
Exercícios 27
Exercício 3: Aplicação de conhecimentos
1.1. Escreva um código que exiba a mensagem"Olá Mundo!" no navegador.
2.2. Que instrução preciso de usar para exibir essa mensagem?
Exercício 4: Perguntas
1. O php sempre reconhece os campos name do HTML como variáveis?
2. O que faz este script?
<?php phpinfo(); ?>
Funções de compressão
Funções PHP de compressão, são funções para PHP utilizadas para a manipulação de certos tipos de arquivos
compactados.
Bzip2
São funções PHP utilizadas para a manipulação de arquivos compactados do tipo Bzip2.
• bzclose — Fecha um ponteiro de arquivo bzip2.
• bzcompress — Comprime uma string em dados no formato bzip2.
• bzdecompress — Descomprime dados no formato bzip2.
• bzerrno — Retorna um número de erro do bzip2.
• bzerror — Retorna o número e string de erro do bzip2 em um array.
• bzerrstr — Retorna a string de erro do bzip2.
• bzflush — Força a escrita de todos os dados que estão no buffer.
• bzopen — Abre um arquivo comprimido com bzip2.
• bzread — Leitura binary-safe de um arquivo bzip2.
• bzwrite — Escrita binary-safe em um arquivo bzip2.
ZIP
São funções PHP utilizadas para a manipulação de arquivos compactados do tipo ZIP.
• zip_close — Fecha um arquivo ZIP.
• zip_entry_close — Fecha o arquivo que está aberto.
• zip_entry_compressedsize — Recupera o tamanho compactado do arquivo que está dentro do arquivo
ZIP.
• zip_entry_compressionmethod — Recupera qual o método de compressão foi utilizado no arquivo.
• zip_entry_filesize — Retorna o tamanho de um diretório de entrada.
• zip_entry_name — Retorna o nome do arquivo.
• zip_entry_open — Abre um arquivo do arquivo ZIP.
• zip_entry_read — Lê de um arquivo aberto.
• zip_open — Abre um arquivo ZIPado.
• zip_read — Lê a próxima entrada em um arquivo ZIPado.
• ZipArchive::addEmptyDir — Add a new directory.
• ZipArchive::addFile — Adds a file to a ZIP archive from the given path.
• ZipArchive::addFromString — Add a file to a ZIP archive using its contents.
Funções de compressão 28
• ZipArchive::close — Close the active archive (opened or newly created).
• ZipArchive::deleteIndex — delete an entry in the archive using its index.
• ZipArchive::deleteName — delete an entry in the archive using its name.
• ZipArchive::extractTo — Extract the archive contents.
• ZipArchive::getArchiveComment — Returns the Zip archive comment.
• ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index.
• ZipArchive::getCommentName — Returns the comment of an entry using the entry name.
• ZipArchive::getFromIndex — Returns the entry contents using its index..
• ZipArchive::getFromName — Returns the entry contents using its name..
• ZipArchive::getNameIndex — Returns the name of an entry using its index.
• ZipArchive::getStream — Get a file handler to the entry defined by its name (read only)..
• ZipArchive::locateName — Returns the index of the entry in the archive.
• ZipArchive::open — Open a ZIP file archive.
• ZipArchive::renameIndex — Renames an entry defined by its index.
• ZipArchive::renameName — Renames an entry defined by its name.
• ZipArchive::setArchiveComment — Set the comment of a ZIP archive.
• ZipArchive::setCommentIndex — Set the comment of an entry defined by its index.
• ZipArchive::setCommentName — Set the comment of an entry defined by its name.
• ZipArchive::statIndex — Get the details of an entry defined by its index..
• ZipArchive::statName — Get the details of an entry defined by its name..
• ZipArchive::unchangeAll — Undo all changes done in the archive..
• ZipArchive::unchangeArchive — Revert all global changes done in the archive..
• ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index..
• ZipArchive::unchangeName — Revert all changes done to an entry with the given name..
RAR
São funções PHP utilizadas para a manipulação de arquivos compactados do tipo RAR.
• rar_close — Close Rar archive and free all resources.
• rar_entry_get — Get entry object from the Rar archive.
• rar_list — Get entries list from the Rar archive.
• rar_open — Open Rar archive.
• Rar::extract — Extract entry from the archive.
• Rar::getAttr — Get attributes of the entry.
• Rar::getCrc — Get CRC of the entry.
• Rar::getFileTime — Get entry last modification time.
• Rar::getHostOs — Get entry host OS.
• Rar::getMethod — Get pack method of the entry.
• Rar::getName — Get name of the entry.
• Rar::getPackedSize — Get packed size of the entry.
• Rar::getUnpackedSize — Get unpacked size of the entry.
• Rar::getVersion — Get version of the archiver used to add the entry.
Funções de compressão 29
Fontes
• PHP: Bzip2 - Manual [1].
• PHP: Zip - Manual [2].
• PHP: RAR - Manual [3].
Referências
[1] http:/ / br. php. net/ manual/ pt_BR/ book. bzip2. php
[2] http:/ / br. php. net/ manual/ pt_BR/ book. zip. php
[3] http:/ / br. php. net/ manual/ pt_BR/ book. rar. php
Funções de Calendário
Funções de Calendário são funções utilizadas para simplificar a conversão de diferentes formatos de calendários.
O padrão é baseado no formato Julian Day Count [1]. A contagem de dias nesse calendário começa em 1º de Janeiro
de 4713 B.C.
Para converter um calendário para algum formato, você deve primeiro convertê-lo para esse formato e então
converter para o calendário que deseja.
O formato de calendário Julian Day Count é muito diferente do Julian Calendar! [2]. Veja a referência para saber
mais.
• cal_days_in_month — Retorna o número de dias em um mês de um calendário e ano requisitado.
• cal_from_jd — Converte à partir do Julian Day Count para um outro calendário suportado.
• cal_info — Retorna informações sobre um calendário em particular.
• cal_to_jd — Converte um calendário (suportado) para o calendário Julian Day Count.
• easter_date — Retorna a data do sistema UNIX correspondente à meia-noite da Páscoa do ano especificado.
Se nenhum ano tiver sido especificado, será assumido o ano atual.
• easter_days — Obtém o número de dias entre 21 de Março e o dia da Páscoa em determinado ano.
• FrenchToJD — Converte uma data do calendário Republicano da França para o calendário Julian Day Count.
• GregorianToJD — Converte uma data gregoriana para o Julian Day Count.
• JDDayOfWeek — Retorna o dia da semana.
• JDMonthName — Retorna o nome de um mês.
• JDToFrench — Converte do calendário Julian Day Count para o calendário Republicano Francês.
• JDToGregorian — Converte uma data no formato Julian Day Count para o formato Gregoriano.
• jdtojewish — Convete uma data do calendário Julian Day Count para o calendário Judaico.
• JDToJulian — Converte uma data do calendário Julian Day Count para o calendário "Julian".
• jdtounix — Converte do formato de dada Juliana para Unix timestamp.
• JewishToJD — Converte uma data do calendário Judaico para o calendário Julian Day Count.
• JulianToJD — Converte datas no formato "Julian" para o formato Julian Day Count.
• unixtojd — Converte datas do sistema Unix para data Juliana.
Funções de Calendário 30
Ligações externas
1.1. Em astronomia, com aplicações na cronologia de acontecimentos históricos, a data juliana ou dia juliano é um
método de contar os dias sequencialmente, começando em uma data arbitrária no passado. Ele foi proposto por
Joseph Justus Scaliger.
2. Para mais informações sobre o calendário Julian Day Count, visite » http:/ / www. hermetic. ch/ cal_stud/ jdn.
htm. Para mais informações sobre sistemas de calendários, visite: » http:/ / www. fourmilab. ch/ documents/
calendar/ . "Excerpts from this page are included in these instructions, and are in quotes" - fonte:
lhttp://br.php.net/manual/pt_BR/intro.calendar.php [1]
3. lhttp://br.php.net/manual/pt_BR/intro.calendar.php [1]
4. Iniciativa: WeB sHp [2]
Referências
[1] http:/ / br. php. net/ manual/ pt_BR/ intro. calendar. php
[2] http:/ / www. webshp. net
Extensões do PHP
Abaixo listo uma série de extensões do PHP, as quais serão mencionadas nesta coleção:
• Funções de compressão de bzip2, rar e zip
•• Funçõesde Calendário
•• Funções de manipulação de PDF
•• Funções de crack
•• Família de funções ctype
•• Biblioteca de rotinas de cliente URL - CURL
•• Funções de pagamento Cybercash
•• Funções DBM
•• Camada de funções de abstração de banco de dados DBA
•• Funções de dBase
•• Funções dbx
•• Funções DOM XML
•• Funções EXIF
•• Funções FrontBase
•• Funções de formato de dados de formulários (Forms Data Format) FDF.
•• Funções de filePro
•• Funções de FTP
•• Funções da biblioteca de imagens GD
•• Funções de Gettext
•• Funções de HyperWave
•• Conversão de tabela de caracteres ICONV
•• Funções de Informix
•• Funções de manuseio de IIS
•• Funções de IMAP POP3 e NNTP
•• Funções de Ingres II
•• Funções de InterBase
•• Funções de Java
•• Funções de LDAP
Extensões do PHP 31
•• Funções de Multi-Byte String
•• Funções de Mcrypt Encryption
•• Funções de Mhash
•• Funções de Mimetype
•• Funções de Ming para Flash
•• Funções de mSQL
•• Funções de MSSQL
•• Funções de MySQL
•• Funções de MySQLi
•• Funções de Oracle 8
•• Funções de OpenSSL
•• Funções de Oracle
•• Funções de sobrecarga de objetos
•• Funções de PDF
•• Funções de PostgreSQL
•• Funções de impressora
•• Funções de memória Compartilhada
•• Funções de get and walk de SNMP
•• Funções de SOAP
•• Funções de socket
•• Funções de Sybase
•• Funções de Tidy
•• Funções de Tokenizer
•• Funções de W32api
•• Funções de XML-RPC
•• Funções de XSLT
•• Funções do YAZ
•• Funções para Arquivos Zip
•• Funções de compressão de ZLib
Ligações externas
• http:/ / pt. wikipedia. org/ wiki/ PHP [1]
• http:/ / br. php. net/ manual/ pt_BR [2]
• Iniciativa: webshp.net [2]
Referências
[1] http:/ / pt. wikipedia. org/ wiki/ PHP
[2] http:/ / br. php. net/ manual/ pt_BR
Segurança 32
Segurança
PHP ainda é uma linguagem com muitas deficiências no que diz respeito a segurança, diariamente notificações de
atos de vandalismo provocado pelos "defacers" são expostas na mídia, e na maioria das vezes as brechas encontradas
por esses criminosos para ter acesso restrito a determinada página se encontra no PHP.
Esta página é somente um esboço.
Ampliando-a você ajudará a melhorar o Wikilivros.
33
Outras informações
Bibliografia
Ligações externas
• http:/ / www. revistaphp. com. br/ print. php?id=164
• http:/ / www. vivaolinux. com. br/ dicas/ verDica. php?codigo=9255
• http:/ / br. php. net/ manual/ pt_BR
• http:/ / pt. wikipedia. org/ wiki/ PHP
• http:/ / www. webshp. net
• http:/ / www. vivaolinux. com. br/ scripts/ verFonte. php?codigo=2992
• http:/ / dev. mysql. com/ downloads/
• http:/ / en. wikibooks. org/ wiki/ PHP_Programming/ Setup_and_Installation#Linux
• http:/ / httpd. apache. org/ download. cgi
• http:/ / localhost/ phpinfo. php
• http:/ / pt. wikipedia. org/ wiki/ CGI
• http:/ / tacosw. com/ main. php
• http:/ / www. easyeclipse. org/ site/ distributions/ php. html
• http:/ / www. kate-editor. org/
• http:/ / www. lampware. org/
• http:/ / www. mysql-apache-php. com/
• http:/ / www. php. net
• http:/ / www. php. net/ downloads. php
• http:/ / www. php. net/ manual/ pt_BR/ security. registerglobals. php
• http:/ / www. phpbrasil. com
• http:/ / www. phpeditor. kit. net
• http:/ / www. vim. org/
• http:/ / www. wampserver. com
• http:/ / br. php. net/ manual/ pt_BR/ intro. calendar. php
• http:/ / www. fourmilab. ch/ documents/ calendar/
• http:/ / www. hermetic. ch/ cal_stud/ jdn. htm
• http:/ / br. php. net/ manual/ pt_BR/ book. bzip2. php
• http:/ / br. php. net/ manual/ pt_BR/ book. rar. php
• http:/ / br. php. net/ manual/ pt_BR/ book. zip. php
• http:/ / br. php. net/ manual/ pt_BR/ refs. compression. php
Autores 34
Autores
Os usuários citados abaixo contribuiram para o desenvolvimento deste trabalho. Estes dados foram obtidos em
29/11/2013.
•• 150.163.97.200
•• 152.92.2.63
•• 177.1.172.128
•• 177.12.208.10
•• 177.124.57.35
•• 177.135.170.210
•• 177.182.217.185
•• 177.69.16.21
•• 180.44.101.75
•• 186.207.233.79
•• 186.214.186.184
•• 186.220.201.33
•• 186.241.191.143
•• 187.12.96.34
•• 187.13.22.201
•• 187.15.123.109
•• 187.17.227.90
•• 187.23.14.250
•• 187.34.227.48
•• 187.38.17.57
•• 187.4.0.29
•• 187.41.96.206
•• 187.43.39.113
•• 187.53.139.50
•• 187.56.87.200
•• 187.59.121.44
•• 187.69.75.147
•• 189.104.157.57
•• 189.110.128.203
•• 189.111.160.10
•• 189.115.238.235
•• 189.124.27.10
•• 189.2.226.2
•• 189.21.199.67
•• 189.21.201.3
•• 189.23.26.158
•• 189.25.61.156
•• 189.27.209.186
•• 189.29.160.201
•• 189.56.127.130
•• 189.59.177.123
•• 189.7.130.241
Autores 35
•• 189.72.30.81
•• 189.8.114.170
•• 189.84.255.127
•• 193.136.104.23
•• 193.136.21.161
•• 200.103.169.99
•• 200.140.66.229
•• 200.152.225.182
•• 200.152.225.183
•• 200.158.110.225
•• 200.158.7.136
•• 200.176.201.133
•• 200.193.67.167
•• 200.198.216.103
•• 200.198.55.146
•• 200.202.193.1
•• 200.205.72.131
•• 200.206.210.80
•• 200.213.185.130
•• 200.232.149.140
•• 201.19.201.151
•• 201.22.234.97
•• 201.26.19.169
•• 201.3.239.53
•• 201.3.49.195
•• 201.35.185.207
•• 201.51.50.79
•• 201.68.88.112
•• 201.73.5.6
•• 201.8.248.211
•• 201.9.243.53
•• 201.9.79.221
•• 201.92.71.39
•• 41.221.197.159
•• 62.28.55.161
•• 72.2.112.16
•• 77.54.38.34
•• 81.84.248.57
•• 84.90.153.236
•• 85.139.106.236
•• 85.240.163.93
•• 87.103.108.147
•• 95.92.17.65
•• Abacaxi
•• Albmont
•• Alguém
•• AmiltonMartins
Autores 36
•• Atoj
•• Brunoy Anastasiya Seryozhenko
•• Bysheep
•• Cristovaopb
•• Daniel Souza
•• Dante Cardoso Pinto de Almeida
•• David0811
•• Edudobay
•• FlavioBenYaakov
•• Fmagrao
•• Gilsonilunardi
•• Guiwp
•• Helder.wiki
•• Helder.wiki.bot
•• Iltonbarbosa
•• JackPotte
•• Jonas AGX
•• Jorge Morais
•• Julio Soares
•• LeonardoG
•• LeonardoRob0t
•• Lightningspirit
•• Marcos Antônio Nunes de Moura
•• Master
•• MewRS
•• MGFE Júnior
•• OsvaldoGago
•• PatiBot
•• Raylton P. Sousa
•• Renatwo
•• Ribafs
•• SallesNeto BR
•• Tabatinga
•• Voz da Verdade
Fontes e Editores da Página 37
Fontes e Editores da Página
Capa  Fonte: http://pt.wikibooks.org/w/index.php?oldid=126853  Contribuidores: AmiltonMartins, Atoj, Jorge Morais, LeonardoRob0t, Lightningspirit, MewRS, SallesNeto BR, 4 edições
anónimas
Prefácio  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262885  Contribuidores: Guiwp
Introdução  Fonte: http://pt.wikibooks.org/w/index.php?oldid=249099  Contribuidores: Abacaxi, Edudobay, Iltonbarbosa, Jorge Morais, Lightningspirit, Master, Tabatinga, 2 edições anónimas
O PHP  Fonte: http://pt.wikibooks.org/w/index.php?oldid=263314  Contribuidores: Abacaxi, Edudobay, Guiwp, Jorge Morais, Lightningspirit, Master, SallesNeto BR, Voz da Verdade, 2 edições
anónimas
Instalação  Fonte: http://pt.wikibooks.org/w/index.php?oldid=263313  Contribuidores: Abacaxi, Albmont, Edudobay, Guiwp, JackPotte, Jorge Morais, Lightningspirit, Marcos Antônio Nunes de
Moura, Master, 13 edições anónimas
Sintaxe básica  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262452  Contribuidores: Abacaxi, Bysheep, Guiwp, Jorge Morais, Lightningspirit, Master, Voz da Verdade, 4 edições
anónimas
Comentários  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262555  Contribuidores: Abacaxi, Fmagrao, Guiwp, Master
Echo  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262554  Contribuidores: Albmont, Edudobay, Guiwp, Helder.wiki, Jorge Morais, Julio Soares, LeonardoG, Marcos Antônio Nunes de
Moura, Master, OsvaldoGago, 6 edições anónimas
Include  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262557  Contribuidores: Edudobay, Guiwp,Jorge Morais, LeonardoG, Master, OsvaldoGago, Ribafs
If...Else  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262560  Contribuidores: Guiwp, Jorge Morais, LeonardoG, Marcos Antônio Nunes de Moura, Master, Ribafs, 3 edições anónimas
Variáveis  Fonte: http://pt.wikibooks.org/w/index.php?oldid=263319  Contribuidores: Abacaxi, Guiwp, Jorge Morais, LeonardoG, Master, OsvaldoGago, Ribafs, 5 edições anónimas
Strings  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262566  Contribuidores: Abacaxi, Atoj, Guiwp, Jorge Morais, Master, MewRS, Raylton P. Sousa, 1 edições anónimas
Operadores  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262567  Contribuidores: Abacaxi, Edudobay, Guiwp, Jorge Morais, Lightningspirit, Raylton P. Sousa, Voz da Verdade, 11
edições anónimas
Funções  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262568  Contribuidores: Abacaxi, Gilsonilunardi, Guiwp, 5 edições anónimas
Classes  Fonte: http://pt.wikibooks.org/w/index.php?oldid=263315  Contribuidores: Abacaxi, Albmont, Guiwp, Jorge Morais, Master, SallesNeto BR, 5 edições anónimas
Exercícios  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262887  Contribuidores: Abacaxi, Albmont, Cristovaopb, Daniel Souza, Dante Cardoso Pinto de Almeida, David0811,
FlavioBenYaakov, Guiwp, Helder.wiki, Jorge Morais, Lightningspirit, MGFE Júnior, Marcos Antônio Nunes de Moura, Voz da Verdade, 62 edições anónimas
Funções de compressão  Fonte: http://pt.wikibooks.org/w/index.php?oldid=263316  Contribuidores: Abacaxi, Daniel Souza, Guiwp, Raylton P. Sousa
Funções de Calendário  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262574  Contribuidores: Abacaxi, Guiwp, Master, Raylton P. Sousa, Renatwo
Extensões do PHP  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262576  Contribuidores: Abacaxi, Guiwp, Jorge Morais, Master, Raylton P. Sousa, Renatwo
Segurança  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262577  Contribuidores: Brunoy Anastasiya Seryozhenko, Guiwp, Jorge Morais, Master, 1 edições anónimas
Bibliografia  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262578  Contribuidores: Guiwp, Helder.wiki, Jorge Morais, Lightningspirit, Master, 1 edições anónimas
Ligações externas  Fonte: http://pt.wikibooks.org/w/index.php?oldid=262421  Contribuidores: Guiwp
Autores  Fonte: http://pt.wikibooks.org/w/index.php?oldid=264900  Contribuidores: Guiwp
Fontes, Licenças e Editores da Imagem 38
Fontes, Licenças e Editores da Imagem
Imagem:Curso_php_cover.png  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:Curso_php_cover.png  Licença: GNU Free Documentation License  Contribuidores: Dante Cardoso
Pinto de Almeida, Lightningspirit
File:Application-x-php.svg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:Application-x-php.svg  Licença: GNU General Public License  Contribuidores: Vinicius Depizzol
Image:Nuvola apps konsole.png  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:Nuvola_apps_konsole.png  Licença: GNU Lesser General Public License  Contribuidores: Alno,
Alphax
Imagem:Rekopis chopin.jpg  Fonte: http://pt.wikibooks.org/w/index.php?title=Ficheiro:Rekopis_chopin.jpg  Licença: Public Domain  Contribuidores: Andreagrossmann, Kevyn, Maire, Man
vyi, Niki K, Subitosera, Tsca
Licença 39
Licença
Creative Commons Attribution-Share Alike 3.0
//creativecommons.org/licenses/by-sa/3.0/

Outros materiais