PHP é um acrônimo recursivo para "PHP: Hypertext Preprocessor". PHP é uma linguagem de script do lado do servidor embutida em HTML. É usado para gerenciar conteúdo dinâmico, bancos de dados, rastreamento de sessão e até mesmo construir sites inteiros de e-commerce.
Usos comuns de PHP -
O PHP executa funções do sistema, ou seja, a partir de arquivos em um sistema, ele pode criar, abrir, ler, gravar e fechá-los.
PHP pode lidar com formulários, ou seja, reunir dados de arquivos, salvar dados em um arquivo, através de e-mail você pode enviar dados, retornar dados para o usuário.
Você adiciona, apaga e modifica elementos em seu banco de dados por meio de PHP.
Acesse variáveis de cookies e defina cookies.
Usando PHP, você pode restringir o acesso dos usuários a algumas páginas do seu site.
Ele pode criptografar dados.
Todo o código PHP deve ser incluído em uma das três tags especiais de marcação que são reconhecidas pelo PHP Parser.
<?php PHP code goes here ?>
<? PHP code goes here ?>
<script language="php"> PHP code goes here </script>
Most common tag is the <?php...?>
O arquivo de configuração do PHP, php.ini, é a forma final e mais imediata de afetar a funcionalidade do PHP. O arquivo php.ini é lido cada vez que o PHP é inicializado. Em outras palavras, sempre que o httpd é reiniciado para a versão do módulo ou com cada execução de script para a versão CGI. Se a sua alteração não estiver aparecendo, lembre-se de parar e reiniciar o httpd. Se ainda não estiver aparecendo, use phpinfo () para verificar o caminho para o php.ini.
O mecanismo de análise PHP precisa diferenciar o código PHP de outros elementos na página. O mecanismo para fazer isso é conhecido como 'escape para PHP'.
Espaços em branco são as coisas que você digita que normalmente são invisíveis na tela, incluindo espaços, tabulações e retornos de carro (caracteres de fim de linha). A insensibilidade a espaços em branco do PHP significa que quase nunca importa quantos caracteres de espaço em branco você tem em uma linha. Um caractere de espaço em branco é o mesmo que muitos desses caracteres.
Não, o PHP é parcialmente sensível a maiúsculas e minúsculas.
Aqui estão as coisas mais importantes que você deve saber sobre variáveis em PHP.
Todas as variáveis em PHP são denotadas por um cifrão ($).
O valor de uma variável é o valor de sua atribuição mais recente.
As variáveis são atribuídas com o operador =, com a variável do lado esquerdo e a expressão a ser avaliada à direita.
As variáveis podem, mas não precisam, ser declaradas antes da atribuição.
Variáveis em PHP não possuem tipos intrínsecos - uma variável não sabe com antecedência se será usada para armazenar um número ou uma string de caracteres.
As variáveis usadas antes de serem atribuídas têm valores padrão.
O PHP faz um bom trabalho na conversão automática de tipos de um para outro quando necessário.
Variáveis PHP são semelhantes ao Perl.
PHP tem um total de oito tipos de dados que usamos para construir nossas variáveis -
Integers - são números inteiros, sem vírgula decimal, como 4195.
Doubles - são números de ponto flutuante, como 3,14159 ou 49,1.
Booleans - têm apenas dois valores possíveis, verdadeiro ou falso.
NULL - é um tipo especial que possui apenas um valor: NULL.
Strings - são sequências de caracteres, como 'PHP suporta operações de string.'
Arrays - são coleções nomeadas e indexadas de outros valores.
Objects - são instâncias de classes definidas pelo programador, que podem empacotar outros tipos de valores e funções que são específicos para a classe.
Resources - são variáveis especiais que contêm referências a recursos externos ao PHP (como conexões de banco de dados).
As regras para nomear uma variável são as seguintes -
Os nomes das variáveis devem começar com uma letra ou sublinhado.
Um nome de variável pode consistir em números, letras, sublinhados, mas você não pode usar caracteres como +, -,%, (,). &, etc
Aqui estão as regras para determinar a "verdade" de qualquer valor que ainda não seja do tipo booleano -
Se o valor for um número, será falso se for exatamente igual a zero e verdadeiro caso contrário.
Se o valor for uma string, será falso se a string estiver vazia (tem zero caracteres) ou será a string "0" e será verdadeiro caso contrário.
Os valores do tipo NULL são sempre falsos.
Se o valor for uma matriz, será falso se não contiver outros valores e, caso contrário, será verdadeiro. Para um objeto, conter um valor significa ter uma variável de membro à qual foi atribuído um valor.
Os recursos válidos são verdadeiros (embora algumas funções que retornam recursos quando são bem-sucedidas retornarão FALSE quando malsucedidas).
Não use duplo como booleano.
NULL é um tipo especial que possui apenas um valor: NULL. Para dar a uma variável o valor NULL, simplesmente atribua-a assim -
$my_var = NULL;
A constante especial NULL é maiúscula por convenção, mas na verdade não diferencia maiúsculas de minúsculas; você poderia muito bem ter digitado -
$my_var = null;
Uma variável que foi atribuída NULL tem as seguintes propriedades:
Ele é avaliado como FALSE em um contexto booleano.
Ele retorna FALSE quando testado com a função IsSet ().
Para definir uma constante, você deve usar a função define () e para recuperar o valor de uma constante, você deve simplesmente especificar seu nome. Ao contrário das variáveis, você não precisa ter uma constante com $.
Conforme indicado pelo nome, esta função retornará o valor da constante. Isso é útil quando você deseja recuperar o valor de uma constante, mas não sabe seu nome, ou seja, é armazenado em uma variável ou retornado por uma função.
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>
Apenas dados escalares (boolean, integer, float e string) podem estar contidos em constantes.
Não há necessidade de escrever um cifrão ($) antes de uma constante, onde, como na variável, é necessário escrever um cifrão.
Constantes não podem ser definidas por atribuição simples, elas só podem ser definidas usando a função define ().
As constantes podem ser definidas e acessadas em qualquer lugar, independentemente das regras de escopo de variáveis.
Uma vez que as constantes tenham sido definidas, não podem ser redefinidas ou indefinidas.
O PHP fornece um grande número de constantes predefinidas para qualquer script que ele execute, conhecido como constantes mágicas.
_LINE_ - O número da linha atual do arquivo.
_FILE_ - O caminho completo e o nome do arquivo do arquivo. Se usado dentro de um include, o nome do arquivo incluído é retornado. Desde o PHP 4.0.2, _FILE_ sempre contém um caminho absoluto enquanto nas versões anteriores ele continha um caminho relativo em algumas circunstâncias.
_FUNCTION_ - O nome da função. (Adicionado no PHP 4.3.0) A partir do PHP 5 esta constante retorna o nome da função como foi declarada (diferencia maiúsculas de minúsculas). No PHP 4, seu valor está sempre em minúsculas.
_CLASS_ - O nome da classe. (Adicionado no PHP 4.3.0) A partir do PHP 5, esta constante retorna o nome da classe como foi declarada (diferencia maiúsculas de minúsculas). No PHP 4, seu valor está sempre em minúsculas.
_METHOD_ - O nome do método da classe. (Adicionado no PHP 5.0.0) O nome do método é retornado como foi declarado (diferencia maiúsculas de minúsculas).
break termina o loop for ou instrução switch e transfere a execução para a instrução imediatamente após o loop for ou switch.
continue faz com que o loop pule o restante de seu corpo e teste novamente sua condição antes de reiterar.
A instrução foreach é usada para percorrer arrays. Para cada passagem, o valor do elemento atual da matriz é atribuído a $ value e o ponteiro da matriz é movido por um e na próxima passagem o próximo elemento será processado.
foreach (array as value)
{
code to be executed;
}
Matriz numérica - uma matriz com um índice numérico. Os valores são armazenados e acessados de maneira linear.
Matriz associativa - uma matriz com strings como índice. Isso armazena valores de elemento em associação com valores-chave, em vez de em uma ordem de índice linear estrita.
Matriz multidimensional - Uma matriz contendo uma ou mais matrizes e valores são acessados usando vários índices.
Para concatenar duas variáveis de string, use o operador ponto (.) -
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Isso produzirá o seguinte resultado -
Hello World 1234
A função strlen () é usada para encontrar o comprimento de uma string. Vamos encontrar o comprimento de nossa string "Olá, mundo!" -
<?php
echo strlen("Hello world!");
?>
Isso produzirá o seguinte resultado -
12
A função strpos () é usada para pesquisar uma string ou caractere dentro de uma string. Se uma correspondência for encontrada na string, esta função retornará a posição da primeira correspondência. Se nenhuma correspondência for encontrada, ele retornará FALSE. Vamos ver se podemos encontrar a string "mundo" em nossa string -
<?php
echo strpos("Hello world!","world");
?>
Isso produzirá o seguinte resultado -
6
O PHP fornece uma função getenv () para acessar o valor de todas as variáveis de ambiente.
Uma das variáveis de ambiente definidas pelo PHP é HTTP_USER_AGENT que identifica o navegador e o sistema operacional do usuário.
A função rand () do PHP é usada para gerar um número aleatório. Esta função pode gerar números dentro de um determinado intervalo. O gerador de números aleatórios deve ser propagado para evitar que um padrão regular de números seja gerado. Isso é obtido usando a função srand () que especifica o número da semente como seu argumento.
A variável padrão do PHP $ _PHP_SELF é usada para o nome do script PHP e quando você clicar no botão "enviar", o mesmo script PHP será chamado.
A função PHP header () fornece cabeçalhos HTTP brutos para o navegador e pode ser usada para redirecioná-lo para outro local. O script de redirecionamento deve estar no topo da página para evitar que qualquer outra parte da página seja carregada. O destino é especificado pelo cabeçalho Location: como o argumento para a função header (). Depois de chamar essa função, a função exit () pode ser usada para interromper a análise do restante do código.
O cabeçalho HTTP será diferente do cabeçalho real para o qual enviamos Content-Type como text / html \ n \ n. Neste caso, o tipo de conteúdo será application / octet-stream e o nome do arquivo real será concatenado junto com ele. Por exemplo, se você deseja que um arquivo FileName possa ser baixado de um determinado link, sua sintaxe será a seguinte.
#!/usr/bin/perl
# HTTP Header
print "Content-Type:application/octet-stream; name=\"FileName\"\r\n";
print "Content-Disposition: attachment; filename=\"FileName\"\r\n\n";
# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
print("$buffer");
}
O PHP fornece o array associativo $ _GET para acessar todas as informações enviadas usando o método GET.
O PHP fornece o array associativo $ _POST para acessar todas as informações enviadas usando o método POST.
A variável PHP $ _REQUEST contém o conteúdo de $ _GET, $ _POST e $ _COOKIE. Discutiremos a variável $ _COOKIE quando explicarmos sobre cookies. A variável PHP $ _REQUEST pode ser usada para obter o resultado dos dados do formulário enviados com os métodos GET e POST.
array () - Cria uma matriz.
sort () - Classifica uma matriz.
Strings entre aspas simples são tratadas quase literalmente, enquanto strings entre aspas duplas substituem variáveis por seus valores, bem como interpretam especialmente certas sequências de caracteres.
<?php
$variable = "name";
$literally = 'My $variable will not print!\\n';
print($literally);
print "<br />";
$literally = "My $variable will print!\\n";
print($literally);
?>
Isso produzirá o seguinte resultado -
My $variable will not print!\n
My name will print
Para concatenar duas variáveis de string, use o operador ponto (.).
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Isso produzirá o seguinte resultado -
Hello World 1234
A variável PHP $ _REQUEST contém o conteúdo de $ _GET, $ _POST e $ _COOKIE. Discutiremos a variável $ _COOKIE quando explicarmos sobre cookies. A variável PHP $ _REQUEST pode ser usada para obter o resultado dos dados do formulário enviados com os métodos GET e POST.
Existem duas funções PHP que podem ser usadas para incluir um arquivo PHP em outro arquivo PHP.
A função include ()
A função require ()
Se houver algum problema ao carregar um arquivo, a função require () gera um erro fatal e interrompe a execução do script, enquanto a função include () gera um aviso, mas o script continuará a execução.
A função PHP fopen () é usada para abrir um arquivo. Requer dois argumentos indicando primeiro o nome do arquivo e depois o modo de operação. O modo "r" abre o arquivo apenas para leitura e coloca o ponteiro do arquivo no início do arquivo.
Depois que um arquivo é aberto com a função fopen (), ele pode ser lido com uma função chamada fread (). Esta função requer dois argumentos. Devem ser o ponteiro do arquivo e o comprimento do arquivo expresso em bytes.
O comprimento dos arquivos pode ser encontrado usando a função filesize () que recebe o nome do arquivo como seu argumento e retorna o tamanho do arquivo expresso em bytes.
A existência do arquivo pode ser confirmada usando a função file_exist () que leva o nome do arquivo como um argumento.
Sim! Você pode definir um parâmetro para ter um valor padrão se o chamador da função não o passar.
O PHP forneceu a função setcookie () para definir um cookie. Esta função requer até seis argumentos e deve ser chamada antes da tag <html>. Para cada cookie, esta função deve ser chamada separadamente.
setcookie(name, value, expire, path, domain, security);
O PHP oferece muitas maneiras de acessar cookies. A maneira mais simples é usar as variáveis $ _COOKIE ou $ HTTP_COOKIE_VARS.
Você pode usar a função isset () para verificar se um cookie está definido ou não.
Para excluir um cookie, você deve chamar setcookie () apenas com o argumento de nome.
Uma sessão PHP é facilmente iniciada fazendo uma chamada para a função session_start (). Esta função primeiro verifica se uma sessão já foi iniciada e se nenhuma foi iniciada, então ela inicia uma. É recomendável colocar a chamada para session_start () no início da página.
Variáveis de sessão são armazenadas em uma matriz associativa chamada $ _SESSION []. Essas variáveis podem ser acessadas durante o tempo de vida de uma sessão.
Use a função isset () para verificar se a variável de sessão já está definida ou não.
Aqui está o exemplo para cancelar a definição de uma única variável -
<?php
unset($_SESSION['counter']);
?>
Uma sessão de PHP pode ser destruída pela função session_destroy ().
O PHP usa a função mail () para enviar um e-mail. Esta função requer três argumentos obrigatórios que especificam o endereço de e-mail do destinatário, o assunto da mensagem e a mensagem real. Além disso, existem outros dois parâmetros opcionais.
mail( to, subject, message, headers, parameters );
Esta é uma variável global do PHP. Esta variável é um array de dupla dimensão associado e mantém todas as informações relacionadas ao arquivo carregado.
Usando $ _FILES ['file'] ['tmp_name'] - fornece acesso ao arquivo carregado no diretório temporário no servidor web.
Usando $ _FILES ['arquivo'] ['nome'] - fornece o nome real do arquivo enviado.
Usando $ _FILES ['arquivo'] ['tamanho'] - fornece o tamanho em bytes do arquivo enviado.
Usando $ _FILES ['arquivo'] ['tipo'] - fornece o tipo MIME do arquivo enviado.
Usando $ _FILES ['file'] ['error'] - fornece o código de erro associado a este upload de arquivo.
$ GLOBALS - contém uma referência para cada variável que está atualmente disponível no escopo global do script. As chaves deste array são os nomes das variáveis globais.
$ _SERVER - Esta é uma matriz contendo informações como cabeçalhos, caminhos e locais de script. As entradas neste array são criadas pelo servidor web. Não há garantia de que todos os servidores da web fornecerão qualquer um deles. Consulte a próxima seção para obter uma lista completa de todas as variáveis SERVER.
$ _COOKIE - Um array associativo de variáveis passado para o script atual via cookies HTTP.
$ _SESSION - Um array associativo contendo variáveis de sessão disponíveis para o script atual.
$ _PHP_SELF - Uma string contendo o nome do arquivo de script PHP no qual é chamado.
$ php_errormsg - $ php_errormsg é uma variável que contém o texto da última mensagem de erro gerada pelo PHP.
ereg () - A função ereg () pesquisa uma string especificada por string para uma string especificada por padrão, retornando verdadeiro se o padrão for encontrado e falso caso contrário.
eregi () - A função eregi () pesquisa em uma string especificada por padrão por uma string especificada por string. A busca não diferencia maiúsculas de minúsculas.
A função split () dividirá uma string em vários elementos, os limites de cada elemento com base na ocorrência do padrão na string.
preg_match () - A função preg_match () procura por padrão na string, retornando verdadeiro se o padrão existir e falso caso contrário.
A função preg_split () opera exatamente como split (), exceto que as expressões regulares são aceitas como parâmetros de entrada para o padrão.
Usando o método getMessage () da classe Exception, que retorna a mensagem de exceção.
Usando o método getCode () da classe Exception, que retorna o código da exceção.
Usando o método getFile () da classe Exception que retorna o nome do arquivo fonte.
Usando o método getLine () da classe Exception que retorna a linha de origem.
Usando o método getTrace () da classe Exception, que retorna a matriz do backtrace.
Usando o método getTraceAsString () da classe Exception, que retorna uma string formatada de trace.
A função time () do PHP fornece todas as informações de que você precisa sobre a data e hora atuais. Não requer argumentos, mas retorna um inteiro.
A função getdate () aceita opcionalmente um registro de data e hora e retorna uma matriz associativa contendo informações sobre a data. Se você omitir o carimbo de hora, ele funcionará com o carimbo de hora atual conforme retornado por time ().
A função date () retorna uma string formatada que representa uma data. Você pode exercer um enorme controle sobre o formato que date () retorna com um argumento de string que você deve passar para ele.
O PHP fornece a função mysql_connect para abrir uma conexão de banco de dados.
connection mysql_connect(server,user,passwd,new_link,client_flag);
PHP usa a função mysql_query para criar um banco de dados MySQL. Esta função usa dois parâmetros e retorna TRUE em caso de sucesso ou FALSE em caso de falha.
bool mysql_query( sql, connection );
Sua função mais simples mysql_close PHP fornece para fechar uma conexão de banco de dados. Esta função usa o recurso de conexão retornado pela função mysql_connect. Ele retorna TRUE em caso de sucesso ou FALSE em caso de falha.
bool mysql_close ( resource $link_identifier );
Se um recurso não for especificado, o último banco de dados aberto será fechado.
O novo módulo SimpleXML do PHP 5 torna a análise de um documento XML bem simples. Ele transforma um documento XML em um objeto que fornece acesso estruturado ao XML. Para criar um objeto SimpleXML a partir de um documento XML armazenado em uma string, passe a string para simplexml_load_string (). Ele retorna um objeto SimpleXML.
Sim!
O PHP fornece uma função especial chamada __construct () para definir um construtor. Você pode passar quantos argumentos desejar para a função do construtor.
Como uma função construtora, você pode definir uma função destruidora usando a função __destruct (). Você pode liberar todos os recursos com um destruidor.
A variável $ this é uma variável especial e se refere ao mesmo objeto, ou seja. em si.
Depois de definir sua classe, você pode criar quantos objetos quiser desse tipo de classe. A seguir está um exemplo de como criar um objeto usando o novo operador.
$physics = new Books;
$maths = new Books;
$chemistry = new Books;
Depois de criar seus objetos, você será capaz de chamar funções de membro relacionadas a esse objeto. Uma função de membro será capaz de processar a variável de membro do objeto relacionado apenas. O exemplo a seguir mostra como definir o título e os preços dos três livros chamando as funções de membro.
$physics−>setTitle( "Physics for High School" );
$chemistry−>setTitle( "Advanced Chemistry" );
$maths−>setTitle( "Algebra" );
$physics−>setPrice( 10 );
$chemistry−>setPrice( 15 );
$maths−>setPrice( 7 );
As definições de funções nas classes filhas substituem as definições com o mesmo nome nas classes pais. Em uma classe filha, podemos modificar a definição de uma função herdada da classe pai.
As interfaces são definidas para fornecer nomes de funções comuns aos implementadores. Diferentes implementadores podem implementar essas interfaces de acordo com seus requisitos. Você pode dizer que as interfaces são skeltons implementados por desenvolvedores.
PHP 5 introduz a palavra-chave final, que evita que classes filhas substituam um método prefixando a definição com final. Se a própria classe está sendo definida como final, ela não pode ser estendida.