Programação

quinta-feira, 12 de setembro de 2019

PHP

Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas

Introdução


SERVIDOR WEB
é um computador que tem instalado um software web responsável por armazenar páginas web por aceitar os pedidos através do protocolo HTTP de clientes (Browser) e tratar da resposta enviando para o respetivo documento HTML através do protocolo HTTP/HTTPs.















Softwares Servidores web: Apache, Nginx, IIS (Microsoft) 



LINGUAGENS UTILIZADAS em um WEBSITE ESTÁTICO 

Atualmente, no desenvolvimento de um website estático são utilizadas as linguagens Front-End ou Client-Side: HTML5, CSS3 e o Javascript.


HTM 5 ─ é uma linguagem de marcação, responsável pela estrutura e conteúdo da página web .

CSS (Cascading Style Sheets) ─ é uma linguagem de estilos, utilizada para estilizar e
  modificar visualmente os elementos criados com HTML.

Javascript  é uma linguagem de programação (scripting) que permite adicionar interatividade dinamismo às páginas web.


LINGUAGENS UTILIZADAS em um WEBSITE DINÂMICO

No desenvolvimento de um Website dinâmico são utilizadas, 
     --> além das linguagem Front-End HTML5, CSS3 e Javascript),

  --> e a linguagem Back-End como o PHP  ou ASP ou JAVA ou C# ou Javascript (Node.js) que é utilizada para ligação à base de dados.


O JavaScript também é utilizado no desenvolvimento Back-End através de tecnologias como o Node.js. 
Node.js não é uma linguagem, mas sim um ambiente de execução de código JavaScript no servidor, permitindo que o JavaScript seja usado no desenvolvimento de back-end. 

Node.js no contexto do Front-end
  • Integração com Frameworks:Embora seja uma ferramenta de back-end, o Node.js é fundamental para o desenvolvimento moderno de front-end. 
  • Ele fornece a base de back-end que se integra com frameworks populares como React, Angular e Vue.js. 
  • Ferramentas de Desenvolvimento:
  • O Node.js é usado para executar ferramentas e pacotes do NPM (Node Package Manager), que ajudam a criar, construir e fazer gestão de projetos front-end.
Vantagens do Node.js para Desenvolvedores Front-end

Compreender as linguagens de desenvolvimento Web


Novidades VSCode e HTML5.2


PHP

 PHP  Hypertext Preprocessor (Pré-Processador de Hipertexto), 
originalmente se chamava Personal Home Page, criada por  Rasmus Lerdorf em 1995


CARACTERÍSTICAS DO PHP 
  • é uma linguagem de scripting, server-side, open source
  • pode ser incorporado no HTML
  • o código é interpretado e é executado ao nível do servidor (Back End).
  • é uma linguagem Orientada a Objetos

O código PHP é interpretado no servidor e o resultado do script processado pelo servidor é enviado para o Browser, que mostra o resultado juntamente com o HTMLsem se saber qual era o código fonte. 


* A grande divulgação do PHP deveu-se à boa articulação com o servidor web Apache e com o SGBD- MYSQL,  todas open source




UTILIZAÇÃO DA LINGUAGEM PHP

A linguagem PHP é utilizada para fazer a ligação à Base de Dados e aceder aos dados armazenados nas bases de Dados contidas num SGBD (exemplo: MySQL ou MariaDB), sendo possível a criação de páginas Web dinâmicas.
 
A linguagem SQL é utilizada para a  criação e manipulação de Base de Dados através de SGBD's.


FUNCIONAMENTO DO PHP

Para os scripts em PHP funcionarem precisamos de ter: 
  --- um Browser,
  --- um interpretador de PHP e
  ---  um software servidor Web (ex: Apache
   ---  e um SGBD (MySQL/MariaDB)




No nosso computador local
, podemos simular um Servidor Web, com o interpretador de PHP e um SGBD
Para isso, temos de instalar um dos pacotes de desenvolvimento Web que contém as ferramentas necessárias.


PACOTES DE DESENVOLVIMENTO WEB
              Todos SO             --  XAMPP   ou
               SO Windows       -- WAMP server ou 

              Linux                   --  LAMPP     ou
               Mac OSX            -- MAMP   ...
                                                                                                                                 


 

Pacote de desenvolvimento web open source, que pode ser instalado em qualquer sistema operativo 

FERRAMENTAS DO XAMPP

esta plataforma de desenvolvimento web que inclui :

  • servidor web  Apache
  • SGBG MariaDB /MySQL
  • interpretador da  linguagens PHP  
  • Possui a ferramenta phpMyAdmin usada para fazer a gestão de Base de Dados
  • servidor FTP  FileZilla






LOCALIZAÇÃO DOS FICHEIROS

No XAMPP
todos os ficheiros em PHP devem estar npasta no disco  c:\xampp\htdocs   


  
No WAMPSERVER
todos os ficheiros em PHP devem estar na pasta c:\wamp\www para serem interpretados pelo servidor Web (Apache).



VISUALIZAR o código/scripts em PHP

Deverá abrir o XAMPP
            -->ligar o APACHE e o MYSQL


ABRIR o BROWSER
         escrever no URL  : localhost/nome_script.php 




Exemplo:   ficheiro PHP guardado em c:\xampp\htdocs\M1\exercicio1.php  

BROWSER:                 URL:       localhost/M1\exercicio1.php



No WAMPSERVER
Os scripts podem ser colocados numa pasta projeto, assim devem estar na pasta c:\wamp\www\projeto

Para visualizar o ficheiro deve escrever na URL do Browser:    localhost/projeto/nome_script.php



ATENÇÃO: 

IIS (servidor Web da Microsoft) e o Apache usam a porta 80, poderá ter que alterar a porta do Apache no ficheiro httpd.conf, para a porta 8080, ficando o acesso aos ficheiros no Browser: localhost:8080/nomeficheiro.php


  
Exemplos da Utilização da linguagem PHP :
  * inicialmente o Facebook foi desenvolvido na linguagem PHP.
  *Os sistemas de fórum  (phpBB, IPB, vBulletin) 
  *Lojas virtuais em sistemas de e-commerce como Magento e WooCommerce;
  * Os CMS mais populares – WordPress (escrito e utiliza o PHP), Drupal e Joomla (escrito em PHP)

Atualmente, o PHP está na versão 7.4    -  8.2



LARAVEL
é um framework de desenvolvimento PHP open source. 

Ele é projetado para ajudar os desenvolvedores a criar aplicações web rapidamente e de forma organizada, fornecendo recursos e ferramentas para lidar com tarefas comuns de desenvolvimento web, como autenticação, gestão de base de dados, manipulação de rotas e muito mais.
Ele utiliza a arquitetura de model-view-controller (MVC) e é baseado em outros frameworks populares, como Ruby on Rails e ASP.NET. Ele é amplamente utilizado para criar aplicações web avançadas, incluindo e-commerce, sistemas de gestão de conteúdo e plataformas de gestão de projetos.


Linguagem scripting PHP

Declarar um script em PHP

Estilo XML (Extensive Markup Language):     Mais utilizado   

<?php                           
             // código           
   ?>                               
 

                   







Estilo Script: 

<script language =”php” >  
                 // código                 
   </script>                              






FUNÇÃO EM PHP  - ESCREVER TEXTO NO ECRÃ
   
                      echo                                    ( ou   print ou printf  são menos utilizadas)

       


LOCALIZAÇÃO DO SCRIPT em PHP

-- Ficheiros em PHP devem ser guardados no computador 
                               na pasta c:\xampp\htdocs\


-- CÓDIGO PHP
       O script PHP será inserido dentro do código HTML na secção body



Abrir o Editor Visual Code e escrever o seguinte código (imagem) 
guardar o script na pasta do computador  c:\xampp\htdocs\exerc1_php.php                      


Visualizar o resultado do script em PHP

Abrir o Browserdigitar   localhost/nomescript.php





Para dar quebra de linha podemos utilizar tag  <br> dentro do texto contido entre as aspas
 




DECLARAÇÃO de VARIÁVEIS no PHP

No PHP, as variáveis são precedidas pelo caracter $ e são untyped (sem tipo definido )

$idade = 40;    
$nome = “ANA”;

Concatenar Texto com Variáveis utiliza-se o ponto  .  

Exemplo:       echo  $nome .  "  tem " .  $idade  . " anos" ;


 Script em PHP  incorporado no HTML













SUGESTÃO: Criar uma tabela em HTML e escrever os valores definidos em variáveis em PHP


RESULTADO de CÁLCULOS em PHP
Obrigatório utilizar o ponto  .  para concatenar Texto com Variáveis

SCRIPT em PHP   (Browser consegue interpretar o script sem estar incorporado no HTML)





Números Decimais
função number_format 















CICLO de REPETIÇÃO  “for

for  ( $i = valorInicial; $i <= valorFinal ; $i++)
  {   
        instrução  ;
  }


CICLO While 
 
while ( condição 
{
     instrução;

}


<?php
    $i 1;
    while (
$i <= 10
     {
       echo 
$i . "\n";
       $i++;  
     }
 
 //Apenas uma instrução 
    $i 10;
    while (
$i >= 0
     {
       echo 
$i-- . "<br>";
     }
 ?>


ARRAYS em PHP

Declaração e Inicialização de Arrays

Sintaxe
                $nomearray = array( valor1, valor2, valor3, .. , valorn)

    $X  =  array (10, 20, 30, 10) ;              //valores todos inteiros
    $Y  =  array  ("Ester",  30 ,  “SLB”);     // valores com diferentes tipos de dados

















Escrever os valores do array 




CICLO foreach

Percorre todas as posições do array.  Não é necessário saber a dimensão do array.

foreach ($nomeArray   as  $valor)
      echo   $valor  .   “<br> ”  ;







Exemplo:  Escrever valores do array com ciclo “for  e com ciclo “foreach






ARRAY e  foreach - TABELAS 

é criada a coluna com tag <td>   e terminada </td> dentro do foreach





ARRAYS ASSOCIATIVOS   -- o índice é uma string


Em vez de índice numérico, é utilizado índice alphanumérico .


Declaração de Arrays associativos

 $nome = array ( nome_indice1 => valor1nome_indice2 => valor2 … );



$X = array(“nome” =>  “Ester”,   “idade”=> 30,  “clube” => “SLB”   );



 Só se pode utilizar o ciclo “foreach” para percorrer os arrays associativos.


Para escrever os índices e os valores do array, utiliza-se uma variável para o índice e outra variável para o valor, separadas pelo =>, ou seja,  $indice => $valor  

Caso se pretenda escrever o índice e o valor de cada elemento do array, pode ser desta forma: 



Caso não pretenda visualizar os índices mas apenas os valores do array, pode utilizar apenas uma variável para o valor do array, ou seja,  $valor 

                       


Ciclo “foreach” e arrays Associativos



FUNÇÃO print_r 

é utilizada para escrever TODOS os índices e respetivos valores de um ARRAY, de forma automática

print_r ( $nomeArray ); 




vemos que o array $X é um array de string em que os índices são valores inteiros (0, 1 e 2)

e o array $Y é um array associativo em que os índices são alfanuméricos (valor1, valor 2 e valor 3)




FORMULÁRIOS






Tipos de caixas de INPUT 



Diferentes tipos de entrada mais comuns
  • <input type="checkbox">
  • <input type="color">

  • <input type="date">
  • <input type="email">

  • <input type="file">
  • <input type="month">
  • <input type="number">
  • <input type="password">
  • <input type="radio">
  • <input type="range">
  • <input type="reset">
  • <input type="search">
  • <input type="submit">
  • <input type="tel">

  • <input type="text">

BOTÕES 
   com a tag <button ...>  e com <input...>



 MÉTODO DE ENVIO DE DADOS nos FORMULÁRIOS

Method POST  garante confidencialidade 

Method GET – não há confidencialidade dos dados


No código HTML abaixo, na tag form, 
temos de acrescentar o atributo method=”POST  ou  o method=”GET”, que indica o método como os dados são enviados.




MÉTODOS --->   ARRAY ASSOCIATIVOS


Quando o formulário é submetido através do método POST, os dados ficam guardados numa variável global (array associativo$_POST cujos os índices são atributo name



Method POST    --> gera o array Associativo  $_POST
Method GET     --> gera o array Associativo  $_GET




 MOSTRAR os DADOS inseridos nos FORMULÁRIOS
 
Quando se elabora um formulário de introdução de dados, os dados vão ser submetidos para serem usados  em alguma consulta; 

pelo que é executada uma AÇÃO,  pelo que temos que adicionar o atributo action à tag <form> e temos que dizer qual o método de envio dos dados (POST ou GET)


Na tag form, temos que acrescentar o atributo action=”nomescript.php”   e  elaborar esse script 

 juntamente com o atributo method=”POST  (ou  method=”GET”), que indica o método como os dados são enviados.



Vemos o código HTML de um formulário com 2 caixas de input e que utiliza o método POST


 script em php DadosPost.php, que escreve o conteúdo do array  $_POST  


 
Visualizar no Browser 
 
No Browser, correr o script do formulário de Introdução de dados 



-->Introduzimos os dados 




Ao SUBMETER, os dados introduzidos vão ser guardados no array  associativo   $_POST com os índices do atributo name de cada tag input.




action="DadosPost.php" vai executar o script que vai escrever noutra página os dados do array $_POST
  



Usando o Method GET  




Usando o método GET, os dados submetidos são guardados no array associativo $_GET

 





Com o método GET os dados não são confidenciais (URL mostra os dados inseridos)


$_REQUEST 

Podemos também utilizar a variável Global $_REQUEST, que guarda os dados recolhidos quer pelo método POST quer pelo método GET.






DICA PARA FORMULÁRIOS


Função isset 
esta função verifica se uma variável está definida ou não (existe ou não).


usando a função isset podemos colocar o código php com o código html, pois só quando existir o array $_POST é que o código em php é executado.

No exemplo abaixo, deve-se colocar a função isset, pois este código só gera a tabuada depois de ter sido inserido o número  para gerar a tabuada e selecionar o botão é que vai criar o ARRAY ASSOCIATIVO $_POST)
 
Pelo que no código deve verificar SE existe o ARRAY ASSOCIATIVO $_POST["numero"], ou seja,  if ( isset ($_POST["numero"]) )



EXEMPLO:INTRODUÇÃO DE UM VALOR NUMA CAIXA DE INPUT  
para gerar uma determinada TABUADA 









SEM a UTILIZAÇÃO da FUNÇÃO isset - utilização atributo actionb





Ao clicar no Botão GERAR, os dados são enviados através do array $_POST e executado o script gera.php no action que vai abrir outra página e escrever a tabuada






CALCULADORA

Formulário de opções de Seleção  - deve colocar o atributo value





EXERCÍCIO: criar uma calculadora com restantes operações 


OUTRO EXERCÍCIO:
Formulário de opções de Seleção  - deve colocar o atributo value




FUNÇÕES  include ou require e header   


função include e função require para importação de scripts em PHP.

includese houver um problema na importação do script, será dada um erro e a execução continuará;

requirese houver algum problema na importação do ficheiro, esta função levanta uma excepção e finalizar o programa;

Estrutura de um site, pode ser definido de modo a que todas as páginas do website tenham sempre o mesmo cabeçalho e o mesmo rodapé.


  include "./pasta/nomescript.php";


EXEMPLO  - temos uma página web,  dividida em 3 partes: com uma barra de navegação; uma div com nome curso e uma div com direitos de autor;


O barra de navegação como deverá aparecer em todas as páginas do website podemos utilizar o include para a barra de navegação e para o rodapé

main2.php 
 

Nesta página web foi incluído um script  menubar.php que deverá ter a barra de navegação, depois a página terá mais conteúdo, e no final do documento  foi incluído um script "rodape.php" com um determinado o rodapé.



menubar.php   e rodape.php





RESULTADO







DESAFIO  -  EXEMPLO COM MENUBAR  


Queremos que a página colaboradores tenha o menubar e que existe apenas um ficheiro com o código para se atualizar ou alterar apenas num ficheiro


podemos colocar uma variável dinâmica $titulo na página principal para que o title seja automático, mudando para cada página



 





Função header ("Location: nomescript.php")

A função header é utilizada quando pretendemos que uma ação seja encaminhada para uma página diferente da atual. 

Quando executada a página login.php, colocamos os dados e submetemos o formulário. 
Será verificado se os dados estão corretos ou não; 
Caso o utilizador e a senha estejam corretos (corresponda ao utilizador "Ester" e a password seja "1234")  será reencaminhado para a página main.php, caso contrário será encaminhado para uma página de erro (erro.php)





----------------------------------------------------------------------------------------------------------------------------------

FUNÇÕES e Variáveis Locais e GLOBAIS

A variável $pi é local, não é conhecida dentro da função. É necessário declará-la dentro da função como global 









 PODE-SE UTILIZAR A VARIÁVEL $_GLOBALS

 Foi utilizada a função number_format para formatar resultado em 2 casas decimais



EXERCÍCIO: 
Altere o exercício anterior, acrescentando uma imagem com as fórmulas, e apresente também os resultados do volume e área de superfície da esfera




Sem comentários:

Enviar um comentário