PHP - BÁSICO

VARIÁVEIS EM PHP 

 

 

 

VARIÁVEIS VARIÁVEIS, CONSTANTES MÁGICAS E SINTAXE HERODOC EM STRINGS NO PHP 

 

Independente do nome que encontrar por aí em livros ou mesmo pela internet, é um recurso que nos permite a criação de uma variável através do conteúdo de outra variável. Para criar uma variável variável utiliza-se de uma variável para servir de identificador para outra que é criada. Para isso utiliza-se duas vezes o símbolo de $, ou seja, devemos utilizar $$. Veja no exemplo a seguir.
01<?php
02
03// Declarando o valor da variável $a
04$a = 'nome';
05
06/**
07 * Criamos $$a, que como possui dois $
08 * também pode ser chamada pelo valor da
09 * variável $a ou seja "nome"
10 */
11$$a = 'Mauro';
12
13// Exibo $a e $nome que foi criada dinâmicamente
14echo $a . ' : ' . $nome;
15
16?>
Como você pode ver no exemplo podemos criar a variável a partir do valor de outra variável. O contrário também é válido ao invés de criarmos a variável, em nosso caso, $nome dinamicamente definimos seu valor normalmente no entanto quando formos exibir seu resultado em tela podemos acessar seu valor através de $$a, lembrando que para que isto funcione $a deve possuir o mesmo valor da variável que será criada em nosso caso “nome”. Observe o exemplo:

01<?php
02
03// Declarando o valor da variável $a
04$a = 'nome';
05
06/**
07 * Criamos $nome, que é
08 * o mesmo valor de $a em
09 * sua declaração
10 */
11$nome = 'Mauro';
12
13/**
14 *  Exibo $a e $$a que foi criada
15 *  dinâmicamente e é o equivalente a acessar
16 *  a variável $nome
17 */
18echo $a . ' : ' . $$a;
19
20?>
Constantes Mágicas no PHP O PHP fornece um grande número de constantes predefinidas. Entretanto a maioria dessas constantes são criadas por várias extensões, e somente estarão presentes quando essas extensões estiverem disponíveis. Aqui você pode ver as constantes predefinidas, lembrando que para visualizar seu conteúdo apenas seguindo a regra de que elas são dependentes de extensões. As constantes mágicas não possuem dependências, no entanto seus valores mudam dependendo de onde elas são executadas. Veja uma tabela com as 7 constantes mágicas que o PHP possui: Veja um exemplo do valor retornado pelas constantes mágicas:
Constante Valor retornado
__LINE__
A linha atual do script.
__FILE__
O caminho completo e nome do arquivo.
__DIR__
O diretório do arquivo.
__FUNCTION__
O nome da função.
__CLASS__
O nome da classe.
__METHOD__
O nome do método de classe.
__NAMESPACE__
O nome do atual namespace.
01<?php
02
03echo __LINE__ . '<br />' . PHP_EOL;
04
05echo __FILE__ . '<br />' . PHP_EOL;
06
07echo __DIR__ . '<br />' . PHP_EOL;
08
09echo __LINE__;
10
11?>

Utilizamos apenas as constantes mágicas no escopo do nosso aprendizado, ou seja, não executamos a constante mágica equivalente a funções (__FUNCTION__) e nem as equivalentes a classes (__CLASS__, __METHOD__, __NAMESPACE__).
Com o avançar de nossos estudos ao nos aprofundarmos em funções, classes e objetos você será capaz de ver o resultado do uso destas constantes mágicas.
Sintaxe Heredoc em strings no PHP Agora que já esta familiarizado em como declarar strings, com aspas simples e aspas duplas, iremos aprender um novo modo de declarar strings, a sintaxe heredoc. Para declararmos uma string com a sintaxe heredoc utiliza-se primeiro <<< (três sinais de menor) e em seguida definimos o delimitador, aí definimos o texto contido na string, em seguida finalizamos a string com o delimitador. Veja um exemplo:
01<?php
02
03$texto = <<<EOT
04
05Eu sou uma string declarada com a sintaxe heredoc.
06
07EOT;
08
09echo $texto;
10
11?>

  • O delimitador, no nosso caso EOT, tem que ser iniciados apenas com uma letra ou _ (sublinhado) e podem ser seguido de letras ou algarismos, ou seja, números podem aparecer em outras posições exceto na primeira
  • Assim como na declaração de variáveis nunca utilize caracteres especiais em nome do delimitador como acentos (é í ó) cedilha (ç)
  • O delimitador final não deve ser acompanhado de nenhum outro caractere, exceto o ponto e vírgula
  • O delimitador final deve ser iniciado no inicio da linha sem tabulações ou espaço, por isso nunca o endente.
  • Resumindo o delimitador final não deve conter nada antes e nem depois do delimitador final, exceto o ponto e vírgula após sua declaração.
Veja um exemplo de como estaríamos declarando de forma errada uma string com a sintaxe heredoc.
1<?php
2
3$texto = <<<7ÉOT
4
5Eu sou uma string declarada com a sintaxe heredoc.
6
7    7éOT; echo $texto;
8
9?>
No exemplo temos todos os erros possíveis como:
  • iniciar a string com caractere não alfanumérico ou underline
  • utilizar caractere especial no nome do delimitador
  • edentar o delimitador final
  • definir o delimitador final, diferente do de abertura, no exemplo o caractere “é” maiúsculo e minúsculo.
  • Tentar escrever algo na mesma linha após o delimitador final.
As strings declaradas como heredoc se comportam como as aspas duplas, exceto que você não precisa utilizar os caracteres de escape para definir a aspas simples e as aspas duplas. E como as strings declaradas com aspas duplas elas interpretam as variáveis veja um exemplo:
01<?php
02
03$nome = 'Mauro George';
04
05$texto = <<<PHP
06
07Eu me chamo {$nome}, como esta string está declarada como Heredoc eu posso exibir " e ' também sem escapar.
08
09PHP;
10
11echo $texto;
12
13?>
Observe que além de exibir as aspas simples e duplas sem necessitar escapar ainda pude exibir o valor de minha variável.
Utilize sempre colchetes envolvendo uma variável, como no exemplo anterior, quando ela for interpretada dentro de outra variável, ou seja na declaração de string como heredoc e na declaração de strings com aspas duplas.
FONTE:
http://aprenderphp.com.br/artigo/variaveis-variaveis-constantes-magicas-e-sintaxe-heredoc-em-strings-no-php/




 INSTALAÇÃO DO PHP 











PASSOS PARA INSTALAÇÃO MANUAL



Estrutura e conteúdo do pacote PHP


Descompacte o conteúdo do arquivo zip em um diretório de sua escolha, por exemplo C:\PHP\. A estrutura de arquivos e diretórios extraídos serão conforme mostrado abaixo:




Exemplo #1 Estrutura do pacote PHP 5


c:\php | +--dev | | | |-php5ts.lib -- php5.lib em versão non thread safe | +--ext -- DLLS de extensões para o PHP | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--extras -- vazio | +--pear -- cópia inicial do PEAR | | |-go-pear.bat -- script de setup do PEAR | |-... | |-php-cgi.exe -- executável CGI | |-php-win.exe -- executa scripts sem um prompt de comando aberto | |-php.exe -- executável PHP de Linha de Comando (CLI) | |-... | |-php.ini-development -- configurações php.ini padrão | |-php.ini-production -- configurações php.ini recomendadas | |-php5apache2_2.dll -- não existe na versão non thread safe | |-php5apache2_2_filter.dll -- não existe na versão non thread safe | |-... | |-php5ts.dll -- principal DLL do PHP ( php5.dll em versão non thread safe) | |-...


Abaixo está a lista de módulos e executáveis incluídos na distrubuição zip:


  • go-pear.bat - o script de setup do PEAR. Veja a » Instalação (PEAR) para mais detalhes.
  • php-cgi.exe - executável CGI que pode ser usado quando rodar o PHP no IIS via CGI ou FastCGI.
  • php-win.exe - executável do PHP para executar scripts PHP sem usar uma janela de linha de comando (por exemplo aplicativos PHP que usam a interface (GUI) do Windows).
  • php.exe - executável do PHP para executar scripts PHP dentro de uma interface de linha de comando (CLI).
  • php5apache2_2.dll - módulo para o Apache 2.2.X.
  • php5apache2_2_filter.dll - filtro para o Apache 2.2.X.
Alterando o arquivo php.ini
Depois que o conteúdo do pacote php foi extraído, copie o php.ini-production para php.ini dentro da mesma pasta. Se necessário, também é possível colocar o php.ini em qualquer outra localização de sua escolha, mas isso requer configurações adicionais conforme descrito em Configuração do PHP.
O arquivo php.ini diz para o PHP como se configurar, e como trabalhar com o ambiente em que ele está rodando. Aqui estão algumas configurações do arquivo php.inique ajudarão o PHP a funcionar melhor com o Windows. Algumas delas são opcionais. Existem muitas outras diretivas que podem ser relevantes para o seu ambiente.
Diretivas requeridas:
  • extension_dir = <caminho para o diretório de extesões> - A extension_dir precisa apontar para o diretório onde as extensões do PHP estão guardadas. O caminho pode ser absoluto (ex: "C:\PHP\ext") ou relativo (ex: ".\ext"). Extensões que estão listadas mais abaixo no arquivo php.ini precisam estar localizadas em extension_dir.
  • extension = xxxxx.dll - Para cada extensão que você deseja ativar, você precisa de uma diretiva "extension=" correspondente que diga o PHP que extensão no extension_dir para carregar durante a inicialização.
  • log_errors = On - O PHP tem um dispositivo de log de erros que pode ser usado para enviar erros para um arquivo, ou um serviço (ex: syslog) e funciona em conjunto com a diretiva abaixo error_log. Quando rodando sob o IIS, a log_errors pode ser ativada, com um error_log válido.
  • error_log = <caminho para o arquivo de log de erro> - A error_log deve especificar o caminho absoluto, ou relativo para o arquivo onde os erros do PHP devem ser logados. O servidor web precisa ter permissão de escrita para esse arquivo. Os caminhos mais comuns para esse arquivo são em diretórios TEMP, por exemplo "C:\inetpub\temp\php-errors.log".
  • cgi.force_redirect = 0 - Essa diretiva é requerida para rodar sob o IIS. É uma diretiva de segurança requerida por muitos outros servidores web. Entretanto, ativá-la sob o IIS fará com que o motor do PHP falhe no Windows.
  • cgi.fix_pathinfo = 1 - Isso permite que o PHP acesse a informação de caminho real dentro das especificações CGI. A implementação de IIS e FastCGI precisa que isso seja configurado.
  • fastcgi.impersonate = 1 - O FastCGI sob IIS tem a habilidade de imitar tokens de segurança do cliente que está chamando. Isso permite que o IIS defina o contexto de segurança da chamada.
  • fastcgi.logging = 0 - O log de FastCGI deve ser desativado no IIS. Se for deixado ativo, qualquer mensagem de qualquer classe é tratada pelo FastCGI como condições de erro que farão o IIS gerar uma excessão HTTP 500.
Diretivas opcionais
  • max_execution_time = ## - Essa diretiva diz ao PHP qual o máximo de tempo que ele pode gastar executando um determinado script. O padrão é 30 segundos. Aumente o valor dessa diretiva se as aplicações demoram muito tempo para executar.
  • memory_limit = ###M - A quantidade de memória disponível para o processo do PHP, em Megabytes. O padrão é 128, que é o suficiente para a maioria das aplicações PHP. Algumas mais complexas podem precisar de mais.
  • display_errors = Off - Essa diretiva diz ao PHP para incluir, ou não, qualquer mensagem de erro na corrente que ele retorna ao servidor Web. Se isso for configurado para "On", então o PHP irá enviar ao web server qualquer classe de erro que você definir na diretiva error_reporting como parte da corrente de erro. Por razões de segurança é recomendado que seja configurada para "Off" em servidores de produção, para não revelar qualquer informação de segurança sensível que é geralmente incluída nas mensagens de erro.
  • open_basedir = <caminhos para diretórios, separados por ponto-e-vírgula>, ex: openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Essa diretiva especifica os caminhos para os diretórios onde o PHP pode executar operações de sistema de arquivos. Qualquer operação fora desses caminhos especificados resultará em um erro. Essa diretiva é especificamente útil para travar a instalação do PHP dentro de ambientes de hospedagem compartilhados para previnir scripts PHP de acessarem quaisquer arquivos fora do diretório raiz do web site.
  • upload_max_filesize = ###M e post_max_size = ###M - O tamanho máximo permitido de um arquivo subido e dados de post, respectivamente. Os valores dessas diretivas devem ser aumentados em aplicações PHP que precisam fazer grandes uploads, como por exemplo arquivo de fotos e vídeos.
O PHP agora está configurado no seu sistema. O próximo passo é escolher um servidor web, e fazer com que ele rode o PHP. Escolha um servidor na tabela de conteúdos.
Além de rodar o PHP em um servidor web, o PHP pode rodar a partir da linha de comando assim como um script .BAT.


  POSTADO POR: TAÍS BRAGA

Nenhum comentário:

Postar um comentário