Em Busca da “Zend PHP Yellow Pages”
Posts tagged php
Operadores – Parte III – Operador de concatenação de String
Jul 11th
Ao contrário de muitas outras linguagens de programação, PHP tem um operador especial para concatenar strings:
$string = “fute” . “bol”;
// $string agora contem o valor ’futebol’$string2 = “desalão”;
// $string2 agora contem o valor ’desalão’$string .= $string2;
// após a concatenação das duas variáveis, nós teremos a variavel $string igual a ’futeboldesalão’echo $string;
// será impresso ’futeboldesalão’
OBS: É importante lembrar que essa não é a melhor forma de se concatenar strings e sim que essa é a única maneira. Usar o operador de adição indicará que as strings serão convertidas primeiramente aos valores numéricos, e adicionadas em seguida (assim originando um valor numérico).
Operadores – Parte II – Operadores Aritméticos
Jul 10th
Operadores aritméticos são os responsáveis pelas operações matemáticas básicas.
| Adição | $a = 1 + 3.5; |
| Subtração | $a = 4 – 2; |
| Multiplicação | $a = 8 * 3; |
| Divisão | $a = 15 / 5; |
| Modulo | $a = 23 % 7; |
OBS: Lembre-se que alguns operadores matemáticos (por exemplo, o operador de adição) assumem um significado diferente quando aplicados a arrays. Falaremos disso mais adiante.
Operadores de incrementação e decrementação formam uma categoria especial de operadores, com eles é possível incrementar e decrementar valores inteiros. Eles são operadores unários, porque eles só aceitam um operando (ou seja, a variável que necessita ser incrementado ou decrementado), e podem mudar de comportamento, dependendo se forem usadas antes ou depois da variável.
A posição do operador determina se o ajuste será realizado antes, ou depois da devolução do valor:
- Se o operador estiver depois do operando, o interpretador irá primeiro retornar o valor atual da variável e depois incrementar ou decrementar o valor.
- Se o operador estiver antes do operando, o interpretador irá primeiro incrementar ou decrementar o valor, e depois retornar o valor.
Veja alguns exemplos:
$a = 1;
// Atribuindo o valor inteiro 1 para a variavel $aecho $a++;
// Imprimindo 1, $a agora é igual a 2echo ++$a;
// Imprimindo 3, $a agora é igual a 3echo –$a;
// Imprimindo 2, $a agora é igual a 2echo $a–;
// Imprimindo 2, $a agora é igual a 1
OBS: uso em excesso desse operador pode tornar seu código de compreensão difícil, até os melhores programadores algumas vezes são surpreendidos pelo uso desse operador. Por isso use-o com cautela.
Vale apena ressaltar também que esse operador deve ser utilizado para valores numéricos. Caso você tente incrementar uma string será retornado 1 como no exemplo abaixo:
$a = “teste”;
echo ++$a;
// será impresso 1 porque primeiro será convertido pra 0 e depois acrescentado 1.
Operadores – Parte I
Jul 9th
Como o próprio nome já diz. operadores são os responsáveis por operações. Existem muitos tipos de operações em PHP. Os mais usados são:
- Operadores de atribuição – Para atribuir dados a variáveis.
- Operadores aritméticos – Para a execução de funções básicas matemáticas.
- Operadores de String – para juntar strings.
- Operadores de Comparações – para comparar dados.
- Operadores Lógicos – Para executar operações lógicas em valores booleanos.
Além desses o PHP também fornece:
- Operadores de Bits – Para manipular Bits usando a matemática booleana.
- Operadores de controle do erro – Para suprimir erros.
- Operadores de execução – Para executar comandos de sistemas.
- Operadores de incremento e decremento – Para incrementar e decrementar valores numéricos.
- Operadores de tipo – Para identificar objetos.
OBS: Na maioria das vezes as operações são binárias o que significa que existem dois operandos. Todas as operações binárias usam a notação em que o operador está entre seus operandos (por exemplo: 2 + 2).
Variáveis
May 27th
Variáveis
Variáveis são recipientes de armazenamentos de dados temporários. Em php, uma variável pode conter qualquer tipo de dados, tais como, por exemplo, strings, inteiros, números de ponto flutuante, objetos e arrays. Php não é fortemente tipado, o que significa que ele irá implicitamente alterar o tipo de uma variável conforme necessário, dependendo da operação a ser realizada em seu valor.
Variáveis php são identificadas por um sinal de dólar $, seguido por um identificador. Variáveis devem ter seu identificador usando apenas letras (az, AZ), números ou o caractere sublinhado. Os nomes de variáveis devem iniciar por letras ou sublinhado, esses são apenas alguns dos identificadores case-sensitive (diferencia maiúsculas de minúsculas). Alguns exemplos abaixo:
$nome = ’valido’; // Variável valida
$_nome = ’valido’; // Variável valida
$1nome = ’invalido’; // Variável invalida, iniciada com um número.
Variável de variáveis
Em PHP, também é possível criar as chamadas variável de variáveis. Essa é uma variável cujo nome está contido em outra variável. Por exemplo:
$nome = ’valor1’;
$$nome = ’valor2’;
echo $valor1;
// será exibido na tela ’valor2’
Como você pode ver, neste exemplo, começamos a criar uma variável que contém a string valor1. Em seguida, nós usamos a sintaxe especial $$nome para indicar que queremos que interprete o dado da variável $nome como uma nova variável, assim a nova variável $valor1, será impressa na tela normalmente.
Devido à disponibilidade de variáveis de variáveis, que é efetivamente possível a criação de variáveis cujos nomes não seguem as limitações listadas acima. Também é possível definir o nome entre parênteses:
$nome = ’123’;
/* 123 é o nome da sua variável, números seria normalmente invalidos. */
$$nome = ’456’;
// Agora, você atribui um valor
echo ${’123’};
// Por fim, usando chaves você terá na tela ’456’
OBS: Variável de variáveis é uma ferramenta muito poderosa, e deve ser usada com extremo cuidado, porque o seu código é de difícil compreensão e de documentação, mas também, porque o seu uso inadequado pode levar a algumas importantes questões de segurança.
Uma técnica semelhante a variáveis de Variáveis também podem ser usadas para acessar nomes de funções dentro de uma variável:
function minhaFuncao() {
echo ’ minhaFuncao!’;
}
$f = ’ minhaFuncao’;
$f(); // irá chamar a função minhaFuncao();
Claramente, esta técnica deve ser utilizada com tanto cuidado como variáveis de variáveis, podendo assim ter varias oportunidades de erros e questões de seguranças bastante significativos.
Determinando se uma variável existe
Um dos pontos negativos de como php lida com variáveis é que não há nenhuma maneira de garantir que qualquer uma delas irá existir em qualquer ponto na execução de um script. Isso pode introduzir no seu sistema uma serie de problemas. Para minimizar o problema você pode utilizar o construtor especial isset():
echo isset ($x);
Uma chamada para o isset() irá retornar true se uma variável existe e tiver o valor diferente de NULL.
Tipos de Dados
May 10th
Tipos de dados
PHP suporta diferentes tipos de dados, porem eles são divididos em duas categorias escalar e composto.
Um valor escalar contem somente um valor de cada vez. PHP suporta quatro tipos escalares:
|
boolean |
Um valor que possa somente ser verdadeiro ou falso. |
|
int |
Um numero de valor inteiro. |
|
float |
Um valor de ponto flutuante. |
|
string |
Uma coleção de dados binários. |
Valores numéricos
PHP reconhece dois tipos de números, os inteiros e de valor ponto flutuante. O tipo de dados interno é usado para representar inteiros assinados (o significado que os números positivos e negativos podem ser expressados com ele). Os números podem ser declarados usando diversas notações diferentes:
|
Decimal |
10; -11; 1452 |
Notação decimal padrão. Note que não é necessário ter separador de milhar, na verdade, é permitido. |
|
Octal |
0666, 0100 |
Notação octal, identificado pelo seu zero à esquerda |
|
Hexadecimal |
0×123; 0XFF; -0×100 |
Notação base-16, veja que há dígitos hexadecimais e 0x são o prefixo principal e são case-insensitive, ou seja, podem ser escritos na forma maiúscula ou minúscula. |
OBS: É importante você está bem ciente das diferentes notações, em particular, números octal que pode facilmente ser confundido com os números decimais e pode conduzir a algumas conseqüências.
Os números de pontos flutuantes (chamados também flutuadores e, às vezes, dobros) são os números que têm um componente fracionário; como inteiros, são assinados também. PHP suporta duas notações diferentes para expressá-las:
|
Decimal |
0.12; 1234.43; -.123 |
Notação decimal tradicional. |
|
Exponencial |
2E7, 1.2e2 |
Exponencial de um conjunto de notação de dígitos significativos, seguido pelo |
Há algumas coisas importantes de que você necessita estar sabendo ao tratar dos números. Primeiramente, a precisão e a escala de ambos os tipos varia de acordo com a plataforma na qual o seu script será executado. Para o exemplo, as plataformas 64-bit podem, dependendo de como PHP foi compilado, ser capazes de representar uma escala mais larga de números do inteiro do que plataformas 32-bit. O que é ruim, PHP não segue excessos, de modo que o resultado de uma operação aparentemente simples como uma adição possa ter conseqüências catastróficas na confiabilidade de sua aplicação.
Mais importante ainda, você necessita estar ciente que o tipo de dados de pontos flutuantes não é sempre capaz de representar números na maneira que você espera. Considere, o exemplo desta declaração muito simples:
echo (int) ((0.1 + 0.7) * 10);
Você esperaria que a expressão ((0.1 + 0.7) * 10) retornaria 8 (e, no fato, se você o imprimisse para fora sem a conversão do inteiro ). Entretanto, a indicação acima imprime 7. Isto acontece porque o resultado desta expressão aritmética simples é armazenado internamente como 7.999999 em vez de 8; quando o valor é convertido a interno, PHP trunca simplesmente afastado a parte fracionária, tendo por resultado um erro significativo (12.5%, para ser exato).
A lição que você precisa tirar de tudo isso é simples: saiba as limitações dos tipos de dados numéricos, e planejar em torno deles. Sempre que a precisão de cálculo é um fator relevante a funcionalidade de sua aplicação, você deve considerar usar as funções de precisão arbitrárias fornecidas pela extensão de BCMath (você pode a procurar por isso no seu manual de PHP) em vez de usar os tipos de dados internos do PHP.
Strings
Na cabeça de muitos programadores, strings são equivalentes a textos. Enquanto em algumas linguagens isto é, na verdade, o que acontece, em muitos outros (incluindo o PHP), a string é um dado muito limitado. Strings são na verdade uma coleção de dados binários podendo assim ser um texto, mas também pode ser o conteúdo de um arquivo de imagem, uma planilha eletrônica, ou mesmo uma gravação musical.
PHP fornece muitas funcionalidades para string, e estaremos falando sobre elas mais tarde.
Booleans
Um valor booleano só pode conter dois valores: verdadeiro ou falso. De uma maneira geral, Booleans são utilizados como base de operações lógicas, que são discutidas posteriormente.
Quando converter dados para o tipo booleano, várias regras especiais são aplicáveis:
- Um número (ou inteiro ou de ponto flutuante) torna-se convertido em um Booleano falso se o valor original é zero, e verdade de outra forma.
- Uma string é convertida em falso somente se ela estiver vazia ou se ele contém o único 0. Se ele contém quaisquer outros dados, até mesmo vários zeros, são convertidos para verdadeiro.
- Quando convertida para um número ou uma string, um Booleano 1 passa a ser verdadeiro, e 0 contrário.
Tipos De Dados Compostos
Além ao tipo de dados escalar que nós examinamos, PHP suporta dois tipos de dados compostos chamados porque são essencialmente recipientes de outros dados:
- Arrays são recipientes de dados de elementos ordenados; um array pode ser usado para armazenar e recuperar qualquer outro tipo de dados, incluindo números, valores booleanos, strings, objetos e até mesmo outras matrizes. Falaremos mais sobre arrays adiante.
- Objetos são recipientes de ambos os dados e código. Eles formam a base da programação orientada a objetos, e também serão aprofundadas adiante.
Outros tipos de dados
Além dos tipos de dados que temos visto até agora, PHP define alguns tipos adicionais
que são utilizados em situações especiais:
- NULL indica que uma variável não tem qualquer valor. A variável é considerada como NULL caso tenha sido atribuído o valor especial NULL, ou se ele ainda não tenha sido atribuído um valor, neste último caso, PHP poderá das um alerta de saída se você tentar usar a variável em uma expressão.
- O tipo de dados resourse é usado para indicar os recursos externos que não são usados de forma nativa pelo PHP, mas que estejam no contexto de uma operação, por exemplo, manipulação de arquivos ou manipular imagens.
Conversão entre tipos de dados
PHP toma cuidado de converter tipos de dados transparentes quando uma referência é usada em uma expressão. Entretanto, é possível forçar a conversão de um valor a um tipo específico usando os tipos operadores da conversão. Estes são simplesmente o nome do tipo de dados que pretende converter que será colocada entre colchetes antes de uma expressão. Por exemplo:
$x = 10.88;
echo (int) $x; // Outputs 10
Anote que um valor não pode ser convertido a alguns tipos especiais; para o exemplo, você não pode converter nenhum valor ao resoruse, você pode, entretanto, converter um resourse a um numérico ou array de tipos de dados, em que o PHP retornará o ID numérico do resouse, ou a string resourse de identificação seguido pelo recurso ID.
Anatomia de um Script PHP
Apr 29th
Anatomia de um script PHP
Todo PHP script é composto de declarações, como as funções, variáveis, atribuições,
dados de saída, as diretivas, e assim por diante. Salvo em muito poucos casos, cada uma dessas instruções devem ser encerradas com ponto e vírgula (;) assim como em C, Perl e Java Script.
Alguma_funcao();
$variavel = 100;
Comentários
Toda linguagem de programação possui formas de comentar o código, e com o php não é diferente. Vale lembrar que é uma boa pratica de programação comentar cada função, classe, método ou propriedade em seu código. Embora seja muito fácil achar códigos mal comentados ou praticamente sem comentários em códigos. Então quando for codificar lembre-se sempre que até você mesmo depois de alguns dias, meses ou anos poderá ter esquecido como programou tal função e será necessário ler e reler algumas vezes o código para entendê-lo.
Tal como acontece com tags, PHP dá-lhe múltiplas escolhas para os seus comentários:
// comentário simples de uma linha
# comentário simples de uma linha
/*
Comentário de varias linhas, comentário em bloco
*/
/**
* Exemplo de documentação de API
*
* @param string $bar
*/
function foo($bar) { }
Esse ultimo exemplo mostra como documentar seu código e com a regra descrita nos comentários, será possível gerar um PHPDOC de todo o sistema, semelhante ao JAVADOC.
Os comentários simples de uma linha, / / e #, podem ser encerrados através de uma nova linha (\ r, \ n ou \ r \ n) ou por acabar com o bloco php atual, usando a tag de fechamento?>.
Espaço em branco
PHP é whitespace-insensitive Isso significa que não há exigências para uso (ou não usar) um tipo específico de caracteres branco (ex.: guias, em vez de espaços), ou um determinado número de caracteres branco, exceto em alguns casos:
- Você não pode ter nenhum espaço entre <? e php
- Não pode romper uma palavra-chave (por exemplo: whi Le, fo r ou func tion)
- Não pode romper nome de variáveis e funções (por exemplo: $var nome, function te ste())
Bloco de código
Um bloco de código é simplesmente uma série de declarações entre duas chaves:
{
/ / Alguns comentários
f () / / uma chamada de função
}
Blocos de código são úteis para a criação de grupos de script todas as linhas que devem ser executados em circunstâncias específicas, tais como uma chamada de função ou uma sentença condicional.
Blocos de código podem ser aninhados.
Construtor da linguagem
Talvez a mais comum delas seja a indicação do echo, que permite que você escreva dados de saída.
echo 10; // irá imprimir 10 na tela.
É importante compreender que o ECHO não é uma função e, como tal, não tem
um valor de retorno. Se você precisa de saída dados através de uma função, você pode usar print() em vez disso:
echo 10;
print (10);
Outra que é muito importante saber é die(), que é em si um apelido de exit(). Ela permite que você encerre o script e obtenha uma saída que poderá retornar uma string ou um valor numerico. As funções são, obviamente, um importante elemento da linguagem PHP. Como tal, falaremos mais adiante sobre elas.
Sintaxe
Apr 26th
Antes de tudo, uma aplicação php é um pequeno conjunto de blocos básicos de construção. O php foi construído com a intenção de ser simples.
Sintaxe
A sintaxe php é fácil de ser entendida, apesar de ser derivada de muitas outras linguagens como C, PERL e JAVA apartir das ultimas adições de orientação a objeto.
Tags e Arquivos fontes
Arquivo php é concebido como processador de texto, com isso pode ser inserido direto em arquivos de texto, utilizando para isso tags especiais o interpretador irá então interpretar o texto fora das tags e executar os que se encontram dentro das tags.
Quatro tipos de tags estão disponíveis:
|
Tag padrão |
<?Php Código php ?> |
|
Tag curta |
<? Código php ?> |
|
Tag script |
<script language=”php”> Código php </script> |
|
Tag asp |
<% Código php %> |
A tag padrão é a melhor forma de abertura e fechamento de tag para se trabalhar com php, por deixar seu código mais portável e compatível, porque é garantida sua disponibilidade e não é desativado ao mudar o arquivo de configuração do php.
Porem a forma mais usada no mundo é a tag curta elas não tem o problema de conflito com cabeçalhos XML. Outra grande vantagem e uma das que mais uso, é a possibilidade da utilização de uma impressão direta <?=$variavel?> sem a necessidade da utilização do print.
A tag script foi inserida para que editores HTML que ignoraram o Java script , mas foram incapazes de lidar com a norma PHP tags também podia ignorar o código php.
Ainda não entendi a tag asp. Quem souber deixe comentários.
Você poderá usar qualquer um dos tipos de tags, sabendo que em alguns casos poderá ser necessário configurar o php.
OBS: Tag curta, tag script e tag asp são todos considerados precários e sua utilização é fortemente desencorajado.
Em Busca da “Zend PHP Yellow Pages”
Apr 25th
Há alguns dias resolvi criar um blog para ajudar nos estudos em php, tenho interesse em tirar a certificação e com isso entrar na Zend PHP Yellow Pages. Tentarei postar de três a quatro vezes por semana e percorrer todo o conteúdo da prova. Em alguns momentos poderei estar falando dela também. Espero que gostem do blog e assim como eu um dia possam estar com o certificado em mãos.
Mais informações sobre o exame aqui.