Rumo à Certificação PHP Guia de estudo para a Zend PHP Certification Kinn Coelho Julião Esse livro está à venda em http://leanpub.com/rumoacertificaophp Essa versão foi publicada em 2015-01-03 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. 2013-2015 Kinn Coelho Julião
Tweet Sobre Esse Livro! Por favor ajude Kinn Coelho Julião a divulgar esse livro no Twitter! O tweet sugerido para esse livro é: Eu já reservei o meu Rumo à Certificação PHP, e você? A hashtag sugerida para esse livro é #rumoacertificaophp. Descubra o que as outras pessoas estão falando sobre esse livro clicando nesse link para buscar a hashtag no Twitter: https://twitter.com/search?q=#rumoacertificaophp
Dedico esse livro à minha esposa, que me motiva todos os dias à novas conquistas e me dá serenidade. A minha filha que se tornou a razão do meu viver e minha inspiração diária. Aos meus Pais, que me deram oportunidades e acreditaram em mim. A minha irmã que sempre soube me dar ouvidos. Aos meus avós, tios, primos e primas que sempre estiveram comigo em minhas jornadas. Aos meus sogros, que me acolheram como um filho. Aos meus padrinhos, que considero como meus Pais. Aos meus amigos, que estarão eternamente comigo aonde quer que eu esteja. A Deus, por me guiar.
Conteúdo Introdução............................................. 1 O PHP.............................................. 1 Características do PHP..................................... 1 Sintaxe............................................... 2 Sintaxe básica.......................................... 2 Variáveis.............................................. 4 Tipos de variáveis........................................ 4 Atribuindo valores à uma variável............................... 5 Variáveis de ambiente...................................... 6 Variáveis superglobais..................................... 7
Introdução O PHP O PHP e uma linguagem de programação livre, gratuita, independente de plataforma, ra pida e muito utilizada para gerar conteu do dina mico na Web, com uma grande biblioteca de func oẽs e extensa documentac aõ. E uma linguagem interpretada com tipagem* dinâmica*. Foi criado originalmente em 1994 por Rasmus Lerdorf e ao longo de sua histo ria teve muitas contribuic oẽs de outros desenvolvedores. Atualmente o PHP esta em sua versaõ 5.5.5 (28/10/2013). Características do PHP Esta linguagem de programac aõ esta preparada para realizar muitos tipos de aplicac oẽs Web, grac as a extensa quantidade de func oẽs com a qual esta dotada. Existem func oẽs que cobrem desde ca lculos matema ticos complexos ate tratamento de conexoẽs de rede. O PHP e uma linguagem poderosa e pode fazer praticamente qualquer coisa que as linguagens concorrentes. Entretanto, e sempre bom lembrar que cada linguagem tem suas forc as e fraquezas, vantagens e desvantagens. Uma das principais caracteriśticas do PHP e o suporte à um grande nu mero de bancos de dados, como dbase, Interbase, MySQL, Oracle, Sybase, PostgreSQL e va rios outros, tornando uma tarefa simples construir um sistema com acesso a uma banco de dados. Ale m disso, o PHP tem suporte a outros servic os atrave s de protocolos, como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda e possi vel abrir sockets e interagir com outros protocolos.
Sintaxe Sintaxe básica Um arquivo PHP pode conter conteúdo HTML/Texto, por isso é preciso delimitar o conteúdo PHP com TAGS especiais: StarndardTag 2?> ShortTag 1 <?="Olá Mundo";?> Sendo que o delimitador Short Tag tem uso desencorajado, uma vez que é desabilitado por padrão. Se o arquivo so conte m comandos PHP, e posssi vel omitir a tag de finalizac aõ (?> ). Isto tambe m evita que espac os apo s esta tag causem problemas com cabeçalhos ja enviados (principalmente em sessoẽs). No PHP os comandos deve terminar em ponto-e-viŕgula (;), como no exemplo abaixo: Delimitadorponto-e-vírgula 2 echo "Olá Mundo"; 3 phpinfo(); 4?> Entretanto, estruturas de controle naõ precisam de ponto e viŕgula - como e o caso do if no exemplo:
Sintaxe 3 Estruturadecontrole 2 if ($variavel === true) { 3 echo "Olá Mundo"; 4 } 5?> Comenta rios podem ser nas tre s formas abaixo: ComentáriosemPHP 2 //Comentário de uma linha 3 # Comentário de uma linha 4 /* 5 Comentário 6 de 7 multiplas 8 linhas 9 */ 10?>
Variáveis O PHP e uma linguagem fracamente tipada, ou seja, naõ exige declarac aõ de tipos. Ale m disso, e de tipagem dina mica: determina o tipo da varia vel conforme o valor que lhe e atribui do, podendo ter alterado tipo durante a execuc aõ pela simples atribuic aõ de um valor diferente. As varia veis no PHP sempre iniciam com o cifraõ ($) seguido de uma letra ou do caracter _. Variáveis 2 //Variáveis válidas 3 $nome; 4 $Nome; 5 $Usuario1; 6 $_servico; 7 8 //Variáveis inválidas 9 $*nome; 10 $1Usuario; 11 $(servico); 12?> O PHP e case sensitive, ou seja, as varia veis $nome e $Nome saõ diferentes. Todo projeto deve ter uma padronizac aõ no nome das varia veis. Elas naõ devem ser codificadas demais a ponto de naõ serem claras, nem longas a ponto de dificultar seu uso. Ale m disso, deve-se evitar varia veis complemente em maiu sculas, pois este e um padraõ para CONSTANTES. Para isso, pode-se ter como base a PSR-1 e PSR-2 do PHP-Fig¹ Tipos de variáveis PHP suporta dados de tipo escalar, composto, nulo e recurso. Escalar Tipo escalar contém apenas um único valor, podendo ser: Booleano - Lógico: true/false 0/1 Inteiro - Decimal: 10, -8765, 0; Octal: 0755, 0140; Hexadecimal: 0x754, 0XFF, -0x1A0 Ponto flutuante - Decimal: 10.98, -79.75; Exponencial: 1E6(1000000), 1.2e2 (120) ¹http://www.php-fig.org/
Variáveis 5 Composto Array - Container de elementos ordenados (ou não) Objetos Nulo null - Representa algo sem valor, que é diferente de valor zero ou vazio resource - Representa um recurso externo, geralmente manipulado por módulos Atribuindo valores à uma variável O Símbolo de atribuição é o igual ( = ) String 2 $variavel = 'valor'; 3?> Atribundo à uma String Strings podem ser atribui das de duas maneiras: Utilizando aspas simples ( ) - desta maneira, o valor da varia vel sera exatamente o texto contido entre as aspas (com excec aõ de caracteres de escape) Utilizando aspas duplas ( ) - desta maneira, qualquer varia vel ou caractere de escape sera expandido antes de ser atribui do. Espaçamentodevariável 2 $nome = "Kinn"; 3 $saudacao = "Ola $nome"; 4 echo $saudacao; 5?> A saída desse script será Olá Kinn
Variáveis 6 InterpretaçãodeString 2 $nome = "Kinn"; 3 $saudacao = 'Ola $nome'; 4 echo $saudacao; 5?> A saída desse script será Olá $nome Existem tambe m as sintaxe conhecidas como HEREDOC e NOWDOC, que utiliza o delimitador especial <<< seguido de uma palavra chave, que determinara o final da string: HEREDOC 2 $nome = "Kinn"; 3 $saudacao = <<<FIM 4 Ola $nome, 5 seja bem vindo 6 FIM; 7?> NOWDOC 2 $nome = "Kinn"; 3 $saudacao = <<<'FIM' 4 Ola $nome, 5 seja bem vindo 6 FIM; 7?> Que correspondem respectivamente à aspas simples e aspas duplas Variáveis de ambiente O PHP possui diversas varia veis de ambiente, como a $PHP_SELF, que conte m o nome e o path do pro prio arquivo. Algumas outras conte m informac oẽs sobre o navegador do usua rio, o servidor http, a versaõ do PHP e outras diversas informac oẽs. Para ter uma listagem de todas as varia veis e constantes de ambiente e seus respectivos conteu dos, utilizamos a func aõ phpinfo().
Variáveis 7 Variáveis superglobais O PHP possui um conjunto de varia veis reservadas e pre -definidas, de tipo array, que mante m diversas informac oẽs do programa e do ambiente. Essas varia veis, saõ chamadas de superglobais e saõ de escopo global. As varia veis superglobais do PHP saõ: Variável $_SERVER $_GET $_POST $_COOKIE $_FILES $_ENV $_REQUEST $_SESSION Descrição O conteúdo desse array é definido pelo servidor web, caso contra rio é relacionado ao ambiente de execuc aõ do script atual. Array oriundo de HTTP GET. Array oriundo de HTTP POST. Array oriundo de HTTP COOKIE. Array oriundo de HTTP FILES. Array oriundo do ambiente de execução do script atual. Array oriundo de HTTP GET, POST e COOKIE. Array oriundo da sessão do script atual.