Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext Preprocessor. Linguagem de criação de Scripts; Projetada especificamente para Web; Versão atual: 5.2.9 www.php.net www.zend.com Concorrentes do PHP Perl Microsoft Asp JavaServer Pages (JSP) ColdFusion Capacidades do PHP Alto desempenho; Interfaces para muitos sistemas diferentes de BD; Bibliotecas integradas para muitas tarefas comuns da Web; Baixo Custo; Facilidade de aprender e utilizar; Suporte Orientado a Objetos; Portabilidade; Código-fonte aberto. Disponibilidade de suporte. PHP Interpretado do lado do servidor, sendo enviado para o cliente apenas o código HTML. Permite criar sites WEB dinâmicos; Possibilita uma interação com o usuário através de formulários, parâmetros da URL e links; O que há de novo no PHP 5.0? Melhor suporte O.O. ; Exceções para manipulações de erros escaláveis e sustentáveis; SimpleXML para fácil manipulação de dados XML. Suporte de Banco de Dados Além de suportar o ODBC (Open Database Connection, ou Padrão Aberto de Conexão com Bancos de Dados) O que será necessário para as aulas? Servidor Web Apache IIS PHP 5.0 ou superior. MySql 5.0 ou superior. Utilizaremos a ferramenta NetBeans 6.5 ou superior com o plugin para o PHP. (http://www.netbeans.org/) Facilitando a instalação Com o intuito de facilitar a instalação do APACHE, PHP e MySQL e outros, a Apache desenvolveu o projeto Apache Friends, disponível em: http://www.apachefriends.org/pt_br/index.html A sintaxe O interpretador PHP repassa o texto até encontrar uma das tags iniciais delimitadora de PHP, então, executa o código que encontra, até chegar em uma tag de fechamento PHP, que novamente o coloca simplesmente repassando texto novamente. Delimitando o código PHP <?php comandos ?> <? comandos ?> O segundo consiste em uma “abreviação” do primeiro. Para utilizá-lo, é necessário habilitar a opção short_open_tag na configuração do PHP, tornando on <script language=”php”> comandos </script> <% comandos %> serve para facilitar o uso por programadores acostumados à sintaxe de ASP. Para utilizá-lo também é necessário habilitá-lo no PHP, através do arquivo de configuração php.ini, tornando on a opção asp_tags. Alternagem <?php if ($expressao) { ?> <strong>Isso é verdadeiro.</strong> <?php } else { ?> <strong>Isto é falso.</strong> <?php } ?> Separador de instrução <?php echo "Isto é um exemplo com vírgula"; ?> <?php echo "Isto é um outro exemplo sem vírgula" ?> Variáveis São códigos em forma de palavras que carregam informações que se alteram “variam” no decorrer de uma instrução. Toda variável em PHP tem seu nome composto pelo caractere $ e uma string, que deve iniciar por uma letra ou o caractere “_”. PHP é case sensitive, ou seja, as variáveis $integrator e $INTEGRATOR são diferentes. Atribuição por referência <?php $item1 = 'Banana'; // Atribui o valor 'Banana' a variável $item1 print $item1.'<br>'; $item2 = &$item1; // Referecia $item1 através de $item2. $item2 = "O produto é $item2"; // Altera $item2... echo $item2.'<br>'; echo $item1; // $item1 é alterado também. ?> Variáveis Pré-definidas Há um grande número de variáveis pré-definidas; //O nome do arquivo do script atualmente em uso, relativo ao documento raiz echo '<br><br>'.$_SERVER['PHP_SELF']; //O nome host do servidor onde o script atual é executado echo '<br><br>'.$_SERVER['SERVER_NAME']; //A string de identificação do servidor echo '<br><br>'.$_SERVER['SERVER_SOFTWARE']; //Nome e número de revisão do protocolo de informação pelo qual a página foi requerida echo '<br><br>'.$_SERVER['SERVER_PROTOCOL']; String de Consulta <a href="http://localhost/TETCPrimeiroExemplo/rec_string_consulta.php?disc=Gerencia"> String de Consulta - Gerência</a> <br> <a href="http://localhost/TETCPrimeiroExemplo/ rec_string_consulta.php?disc=BDI&prof=Kessia"> String de Consulta - Disciplina e Professor</a> Variáveis HTTP GET: $_GET Variável „SuperGlobal‟ Automaticamente global. Transmitindo caracteres especiais Não é permitido incluir espaços ou outros caracteres especiais no nome ou valor de uma variável de string de consulta. Quando são utilizados caracteres especiais, normalmente eles são truncados. Para evitar possíveis problemas no envio de caracteres especiais, é interessante utilizar codificação. Array Associativo de recebimento de formulário Para recuperar as informações de formulários HTML, você utiliza um conjunto de Arrays Associativos: $_POST, $ _GET e $_FILES Tipos de Dados O PHP suporta os oitos tipos primitivos. São quatros tipos básicos: Dois tipos compostos: boolean integer float (número de ponto flutuante, ou também 'double') string array Object E finalmente dois tipos especiais: resource NULL Tipos de dados Resource Recurso é uma variável especial, mantendo uma referência de recurso externo. Recursos são criados e utilizados por funções especiais. Mais adiante aprenderemos a usar resource com conexão a banco de dados MySQL (essa é uma das formas). Tipos de Dados PHP é uma linguagem tipificação muito fraca; O tipo da variável é determinado pelo valor atribuído a ela. Possui Coerção de Tipo – conversão automática de tipo. Type Casting – Coerção de tipo – semelhante ao C As coerções permitidas são: (int), (integer) - coerção para inteiro (bool), (boolean) - coerção para booleano (float), (double), (real) - coerção para número de ponto flutuante (string) - coerção para string (array) - coerção para array (object) - coerção para objeto Constantes Uma constante armazena um valor como uma variável, mas seu valor é configurado uma vez e, então, não pode mais ser alterado em outra parte do script. Por convenção, os nomes das constantes são inteiramente maiúsculaos; Constantes não podem ter um sinal de cifrão ($) antes delas; Constantes só podem ser definidas utilizando a função define( ), e não por simples assimilação; Constantes podem ser definidas e acessadas de qualquer lugar sem que as regras de escopo de variáveis sejam aplicadas; Constantes não podem ser redefinidas ou eliminadas depois que elas são criadas; Constantes só podem conter valores escalares. Referências WELLING, Luke. PHP e MYSQL desenvolvimento Web. Rio de Janeiro: Elsevier, 2005.