Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
Espera-se do aluno aprovado:
A capacidade de entender e criar soluções integradas cliente/servidor, tirando partido das tecnologias fundamentais da Web e utilizando a linguagem PHP do lado do servidor e bases de dados MySQL;
A capacidade de articular diferentes tecnologias da Web (URL, HTTP, HTML, CSS, programação no servidor) na resolução de problemas na Web, considerando questões de estética, usabilidade, desempenho e segurança,
Conteúdos programáticos
Tecnologias fundamentais da Web
HTML, URL, HTTP
Protocolo HTTP
O paradigma cliente-servidor
Estrutura das mensagens HTTP
Web Browsers e Web Servers: comunicação cliente servidor
Formulários HTML. Submissão via GET versus POST
Programação no Servidor
Introdução à linguagem PHP; variáveis, tipos de dados, strings,arrays; estruturas de controle
Sintaxe PHP embutida no HTML
Processamento do Input: parâmetros do pedido
Entrega de conteúdo dinâmico. Http Headers e Status Codes; Redirecção.
Manutenção do estado: Cookies versus Sessions
Autenticação dos utilizadores. Segurança.
Interacção com a Base de Dados MySQL:
Ferramenta phpMyAdmin
Importação e exportação de scripts SQL
PDO PHP Data Objects
* Arquitectura Model View Controller
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
São expostos os pilares da Web e as suas tecnologias fundamentais que vão permitir ao aluno compreender a mecânica dos pedidos e respostas numa arquitetura ambiente cliente-servidor.
É apresentado e demonstrado o protocolo HTTP, com exemplos de interação entre o browser e o servidor
São apresentados os formulários HTML e a mecânica da sua submissão utilizando quer o método GET quer o método POST
É apresentada a linguagem PHP, os tipos de variáveis, instruções, funções e estruturas de controlo
São exploradas diferentes técnicas de embutir o código PHP no HTML a nível sintático
É apresentado a sequência de INPUT - PROCESS - OUTPUT, desde a obtenção do input nos parâmetros do pedido, seguido do seu processamento até à construção do output da resposta
É dada atenção à manutenção do estado com cookies e sessões
É dada atenção à autenticação, autorização e aos aspetos da segurança na escrita do código
É utilizada a base de dados MySQL e a ferramenta phpMyAdmin, e a criação de scripts SQL
Para a interação com a BD a partir do PHP, será usado o PDO PHP Data Objets
Será apresentada e demonstrada a arquitetura MVC Model View Controller para melhor organização do código
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
Aulas teórico-práticas de exposição da matéria, de demonstração de conceitos e de software, de resolução de exercícios e de apresentação e discussão da solução dos exercícios.
Aulas práticas dedicadas à realização do projeto da disciplina e aulas de apresentação e discussão dos projetos dos alunos
Avaliação:
Realização de um teste prático com o peso de 50% na nota final
Conceção, desenho e implementação de um projeto em sala de aula (50% da nota final).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
Com a exposição dos conceitos fundamentais e com a demonstração de código e de soluções de software é dado ao aluno a responsabilidade e a motivação para o seu envolvimento nos exercícios que lhe são atribuídos. É favorecida a autonomia do aluno e privilegiado o desejo e a capacidade da descoberta. O projeto final permite a articulação e a integração dos conceitos e tecnologias abordados, consolidando-os e abrindo as portas à procura de mais conhecimento.
Bibliografia de consulta (existência obrigatória)
Jon Duckett, PHP & MySQL Server-side Web Development, John Wiley, 2022
Leon Shklar, Rich Rosen. 2012, Web Application Architecture, 2ª edition, John Wiley, 2012.
Joel Murach, Murach's PHP and MySQL,, 4th Edition, Mike Murach & Associates, 2022.