Sie sind auf Seite 1von 52

O que é PHP?

● PHP significa “Hyper text Preprocessor”. É uma


linguagem de código aberto e é delimitado por tags
iniciais e finais que permite pular para dentro e para
fora do modo PHP
PHP.ini

● O php.ini é o arquivo de configuração do PHP,


veremos suas principais diretivas:
● short_open_tag <boolean>
Diz ao PHP se a forma abreviada de abertura de tag (<? ?
>) (<? ?>) está permitida. Se quiser usar PHP em conjunto
com XML, pode ser desabilitado esta opção a fim de usar em
linha <?xml ?>. Caso contrário, pode-se imprimir com PHP,
por exemplo <?php echo '<?xml version="1.0"?>'; ?>. Além
disso, se se desabilitado, pode-se usar a forma extensa de
abertura de tag (<?php ?>).
PHP.ini

– asp_tags <boolean>
● Ativa o uso do estilo ASP <% %> tags além da usual tag
<?php ?>. Inclui a abreviatura de impressão da variável-
valor <%= $value %>.

– precision <integer>
● O número de dígitos significativos mostrados em números
de ponto flutuante.

– display_erros <boolean>
● Define de exibirá ou não erros na tela
PHP.ini

– exit_on_timeout <boolean>
● Esta é uma diretiva mod_php-only Apache1que força um
subprocesso do Apache para sair se um execução PHP
ocorre um timeout. Esse timeout causa uma chamada interna
longjmp() no Apache1 que pode deixar alguma extensão em
um estado inconsistente Ao terminar o processo, será limpo
de qualquer bloqueio pendente ou da memória.

– realpath_cache_size <integer>
● Determina o tamanho de cache do realpath para ser usado
pelo PHP. Este valor deve ser aumentado em sistemas onde
PHP abre muitos arquivos, para refletir a quantidade das
operações realizadas com os arquivos.
Exemplo de script em PHP

<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php echo "<p>Alô Mundo</p>"; ?>
</body>
</html>
Atribuindo Valores

<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$a = 10;
$b = 15;
$c = $a + $b;
echo "$a mais $b é igual a $c";
?>
</body>
</html>
Comentários “/* */”
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
/*
O código abaixo soma duas variáveis
e exibe o valor encontrado
*/
$a = 10;
$b = 15;
$c = $a + $b;
echo "$a mais $b é igual a $c";
?>
</body>
</html>
Comentários “//”
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$a = 10; //A variável $a recebe o valor 10
$b = 15; //A variável $b recebe o valor 15
//A variável $c recebe o valor da soma
$c = $a + $b;
//O resultado obtido é exibido
echo "$a mais $b é igual a $c";
?>
</body>
</html>
Função

<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
function soma($a)
{
global $b;
$b = $a + 5;
}
soma(10);
echo "o valor de 'b' é $b";
?>
</body>
</html>
Códigos Booleanos
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$a = True;
if ($a)
{
echo "Verdadeiro";
}
else
{
echo "Falso";
}
?>
</body>
</html>
Código com Hexadecimal

<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$a = 0x1A; //Coresponde ao decimal 26
$b = -16;
$c = $a + $b;
echo "a + b = $c";
?>
</body>
</html>
Ponto Flutuantes

<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$preco = 11.90;
$soma = $preco * 4;
echo "Quatro revistas W custam R$ $soma<br>";
?>
</body>
</html>
Trabalhando com Strings
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$texto1 = 'Esse é o primeiro texto.<br>';
$texto2 = "Esse é o segundo texto.";
echo $texto1;
echo $texto2;
?>
</body>
</html>
Trabalhando com vetores “array”
<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
$frutas = array(
1 => "Laranja",
2 => "Maçã",
3 => "Uva");
echo "<li> $frutas[1]<br>";
echo "<li> $frutas[2]<br>";
echo "<li> $frutas[3]<br>";
?>
</body>
</html>
Constante

<html>
<head>
<title>Teste PHP</title>
</head>
<body>
<?php
define("CONSTANTE", "Alô mundo.");
echo CONSTANTE;
?>
</body>
</html>
Operadores Matemáticos

São usados para efetuarem operações sobre as variáveis e constantes. Os


operadores do
PHP são:
● + soma
● - subtração
● * multiplicação
● / divisão
● ^ exponenciação
● % módulo, resto da divisão
● ++ acrescenta um a uma variável
● -- subtrai um de uma variável
● += soma um valor a uma variável e lhe atribui o resultado
Exemplo de Operadores Matemáticos
<html> echo($x % 8); $x += 10;
<head> echo "<br>"; echo($x);
<title>Teste PHP</title> $x = 5; ?>
</head> $x++; </body>
<body> echo($x); </html>
<?php echo "<br>";
$x = 2; $x = 5;
echo($x + 2); $x--;
echo "<br>"; echo($x);
$x = 2; echo "<br>";
echo(5 - $x); $x = 8;
echo "<br>"; echo($x);
$x = 4; 15
echo($x * 5); echo "<br>";
echo "<br>"; $x = 8;
$x = 15; $x = $x + 10;
echo($x / 5); echo($x);
echo "<br>"; echo "<br>";
$x = 10; $x = 8;
Operadores de Comparação

Há também os operadores de comparação. Uma comparação sempre gera um


dos dois valores possíveis: vazio, que corresponde a falso, e 1, que
corresponde a verdadeiro.
● = = é igual a
● ! = não é igual a
● > é maior que
● < é menor que
● >= é maior ou igual a
● <= é menor ou igual a
Estrutura de Controle

● As estruturas de controles são formadas por


condicionais e laços (looping).
● if

<?php
$x = 20;
if ($x > 10)
{
echo("O valor da variável é maior
que 10.");
}
?>
Estrutura de Controle
● if -else
<?php
$x = 5;
if ($x > 10)
{
echo("O valor da variável é maior que
10.");
}
else
{
echo("O valor da variável é menor
que 10.");
}
?>
Estrutura de Controle
● Swicth
<?php
$d = getdate();
switch ($d['wday'])
{
case 5:
echo("Finalmente Sexta");
break;
case 6:
echo("Super Sábado");
break;
case 0:
echo("Domingo Sonolento");
break;
default:
echo("Estou esperando pelo fim da semana");
}
?>
Estrutura de Controle

● for

<?php
for ($i = 1; $i < 10; $i++)
{
echo("Linha $i <br>");
}
?>
Estrutura de Controle

● While
<?php
$i = 1;
while ($i < 10000)
{
echo($i);
$i *= 2;
echo(" vezes 2 é igual a $i <br>");
}
?>
Funções

● Uma função é um bloco de código reutilizável que


é executado devido a um evento ou pela chamada
de outra função. Deve-se usar a declaração
function para criar uma função. Os parâmetros
usados pela função são declarados entre
parênteses.
Funções

<?php
function soma($valor1, $valor2)
{
$resultado = $valor1 + $valor2;
return ($resultado);
}
$x = soma(7, 8);

echo($x);
?>
Função

<?php
function escreveTexto()
{
echo("Já sei criar funções!");
}
escreveTexto();
?>
Função phpinfo

● Int phpinfo([int $what])


● A função “phpinfo” mostra uma grande
quantidade de informações sobre o estado atual do
PHP. Isto inclui informações sobre as opções de
compilação do PHP e extensões, a versão do PHP,
informações do servidor e ambiente (se compilado
como um módulo), o ambiente PHP, informação
da versão do SO, caminhos, valores principais e
locais das opções de configuração, cabeçalhos
HTTP e a licença do PHP.
Função phpinfo

● A saída pode ser configurada passando-se uma ou


mais das seguintes constants que serão somadas
junto com o parâmetro opcional what. Pode
combinar as respectivas constantes ou seus valores
bit a bit juntos com o operador or.
Função phpinfo
Nome (constant) Valor Descrição
INFO_GENERAL 1 A linha de configuração, localização do php.ini
data de construção, Servidor Web, Sistema e
mais.
INFO_CREDITS 2 Créditos do PHP 4. Veja também phpcredits().
INFO_CONFIGURATION 4 Valores locais e principais para as diretivas de
configuração do PHP. Veja também ini_get().
INFO_MODULES 8 Módulos carregados e suas respectivas
configurações. Veja também
get_loaded_modules().
INFO_ENVIRONMENT 16 Informação das variáveis de ambiente que
também esta disponível em $_ENV.
INFO_VARIABLES 32 Mostra todas as variáveis pré-definidas de
EGPCS (Environment, GET, POST, Cookie,
Server).
INFO_LICENSE 64 Informação sobre a Licença do PHP. Veja
também o » faq sobre a licença.
INFO_ALL -1 Mostra tudo acima. Este é o valor padrão.
Função phpinfo;
<?php
// Mostra todas as informações, usa o padrão INFO_ALL
phpinfo();

// Mostra apenas informações dos módulos.


// phpinfo(8) mostra um resultado idêntico

phpinfo(INFO_MODULES);
?>
Classes e objetos

● As classes são um conjunto de atributos e métodos


que formarão um objeto.

● Os objetos são entidades criadas a partir de uma


classe.
Classes e objetos
O código a seguir define uma classe chamada CarrinhoDeCompras, que é uma matriz
associativa com os artigos do carrinho e duas funções: uma para adicionar e outra
para remover os itens. Deve-se utilizar o operador new para criar uma objeto do tipo
CarrinhoDeCompras.
<?php function remove_item($artnr, $num)
class CarrinhoDeCompras {
{ if ($this->items[$artnr]> $num)
var $items; /* Items no {
carrinho Adiciona $num artigos $this->items[$artnr]-=$num;
do $artnr ao carrinho */ return true;
function adiciona_item }
($artnr,$num) Else
{ {
$this->items[$artnr] = return false;
$num; }
} }
}
/* Retira $num artigos do //Na linha abaixo é criado o objeto
$artnr do carrinho */ $carrinho = new CarrinhoDeCompras;
$carrinho->adiciona_item("Banana",12);
?>
Manipulando Arquivos

● PHP define diversas funções para leitura e


escrita de arquivos de texto.

● Arquivos de texto são ideais para o


armazenamento de dados simples.

● Deve-se sempre prestar atenção ao esquema


de permissões de arquivos no servidor.
file_get_contents

● A função file_get_contents lê todo o conteúdo


de um arquivo de texto, e o armazena em uma
string.
● Sintaxe:

– file_get_contents($arquivo)

● Retorna o conteúdo do arquivo, ou false,


se houver erro.
file_get_contents
● modelo.html
Nome: {nome}<br>
E-mail: {email}<br>

● Pagina.php
<?php
$texto = file_get_contents('modelo.html');

echo str_replace(array('{nome}','{email}'),
array('Fulano de Tal','fulano@detal.com'),
$texto);
?>
file_put_contents

A função file_put_contents salva o conteúdo de


uma string em um arquivo de texto local.
● Sintaxe:

– file_put_contents($arquivo,$conteudo)
● $conteudo pode ser um array ou uma

string.
● Retorna o número de bytes escritos no

arquivo, ou false, em caso de erro


file_put_contents

<?php
$linhas = array('Primeira linha.','Segunda linha.',
'Terceira linha.');
$bytes =file_put_contents('teste.txt',implode("\n",$linhas));
if($bytes)
echo "$bytes bytes escritos";
else
echo "Erro!";
?>
Lendo Arquivo por Partes

● É possível ler um arquivo passo a passo, ao


invés de carregá-lo todo em memória, de uma
só vez.
● Útil para o processamento de arquivos

longos.
● Funções:
– fopen
– fgets / fgetc
– feof
– fclose
fopen

● fopen($arquivo, $modo)
– Lê o $arquivo especificado.
– Retorna uma Referência de Arquivo, ou false
em
caso de erro.
● $modo pode ser:

– 'r' Somente leitura.


– 'r+' Leitura e escrita.
– 'w' Somente escrita. Cria ou sobrescreve o
arquivo.
– 'w+' Leitura e escrita. Cria ou sobrescreve o
arquivo.
– 'a' Somente escrita. Cria ou continua o arquivo.
– 'a+' Leitura e escrita. Cria ou continua o arquivo.
fgetc e fgets

● fgetc($recurso)
– Lê e retorna o próximo caractere do
Recurso
de Arquivo especificado.

● fgets($recurso)
– Lê e retorna a próxima linha do Recurso de
Arquivo especificado.
feof e fclose

● feof($recurso)
– Retorna true, se o arquivo indicado pelo
$recurso tiver chegado ao fim; false, do
contrário.
● fclose($recurso)

– Finaliza a manipulação do arquivo e o


libera
ao sistema operacional.
Lendo por Carácter

<?php
$rec = fopen('teste.txt', 'r');
$i = 0;
while(!feof($rec))
{
$linha = fgetc($rec);
echo "Caractere $i: $linha<br>\n";
$i++;
}
fclose($rec);
?>
Lendo por linha

<?php
$rec = fopen('teste.txt', 'r');
$i = 0;
while(!feof($rec))
{
$linha = fgets($rec);
echo "Linha $i: $linha<br>\n";
$i++;
}
fclose($rec);
?>
Escrevendo um Arquivo por partes

● Para escrever em um arquivo passo a passo,


usam-se as mesmas funções fopen (atenção
para as opções!) e fclose.

● Para escrever no Recurso, usa-se:


– fwrite($res, $string)
Escrevendo um arquivo por partes

<?php
$rec = fopen('teste2.txt', 'wr+');
if(!$rec)
{
echo "Erro!";
}
Else
{
fwrite($rec, "Leia com atenção\n");
fwrite($rec, "1 + 1 = " . (1+1));
fclose($rec);
}
?>
Verificando Arquivos

● PHP também possui várias funções voltadas


testes realizados sobre arquivos do sistema.
– Existência de arquivos.
– Permissões.
– Tamanho e tipo.
file_exists

● file_exists($arquivo)
– Retorna true se o arquivo existe; false, do
contrário.

<?php
if (file_exists('/usr/local/htdocs/index.html'))
echo "O arquivo existe!";
else
echo "O arquivo não existe!";
?>
Permissões

Permissões
● Leitura

– is_readable($arquivo)
● Escrita

– is_writable($arquivo)
● Executar

– is_executable($arquivo)

● Funções que retornam true ou false,


dependendo a permissão verificada (leitura, escrita,
execução)
Tipos de Arquivo

● Verifica se é um diretório
– is_dir($arquivo)
● Verifica se é um arquivo
– is_file($arquivo)
● Verifica se é um atalho
– is_link($arquivo)

● Funções booleanas que verificam se o


arquivo é, respectivamente um diretório, um
arquivo comum ou um link simbólico.
Diretório e Arquivo

● dirname($caminho)
– Retorna a porção do $caminho composta
pelo diretório.

● basename($caminho, [$extensao])
– Retorna a porção do $caminho composta
pelo nome do arquivo.
– Se o nome do arquivo terminar em
$extensao, essa também será eliminada.

● filesize($arquivo)
– Retorna o tamanho do arquivo (em bytes)
Diretório e Arquivo
<?php
function ilista($txt){
echo "<li>O arquivo $txt.</li>\n";
}
$arquivo = '/etc/apt/sources.list';
if(file_exists($arquivo)){
?>
<h3><?= $arquivo ?></h3>
Diretório: <strong><?= dirname($arquivo) ?
></strong><br>
Arquivo: <strong><?= basename($arquivo) ?></
strong><br>
Arquivo sem extensão: <strong><?=basename($arquivo, '.list') ?
></strong><br>
Tamanho: <strong><?= filesize($arquivo) ?></
strong> bytes<br>
http://marx.vanderlinden.com.br/ 30
<ul>
Diretório e Arquivo
<?php </ul>
if(is_readable($arquivo)) http://marx.vanderlinden.com.br/
ilista('pode ser <?php
lido'); }
if(is_writable($arquivo)) else {
ilista('pode ser echo "Erro: arquivo não
escrito'); existe.<br>";
if(is_executable($arquivo)) ilista('é }
executável'); ?>
if(is_dir($arquivo)) ilista('é um
diretório');
if(is_file($arquivo)) ilista('é um
arquivo
comum');
if(is_link($arquivo)) ilista('é um link
simbólico');
?>

Das könnte Ihnen auch gefallen