Propuesta didáctica UP 02: PHP¶
Introducción¶
Esta Unidad de Programación tiene como objetivo introducir al alumnado en el lenguaje PHP, ampliamente utilizado en el desarrollo de aplicaciones web dinámicas. Se trabajará desde los fundamentos del lenguaje, como la estructura básica de un programa, la integración de PHP en HTML, el uso de variables y estructuras de control, hasta la creación de programas simples que permitan una primera aproximación a la lógica de programación en el entorno web.
Además, se abordarán los principios básicos de la programación orientada a objetos (POO) en PHP, incorporando conceptos como clases, objetos, encapsulación y herencia. El alumnado aprenderá a aplicar estos elementos en el diseño de aplicaciones más organizadas, reutilizables y escalables, integrando código orientado a objetos en páginas web para el desarrollo de soluciones dinámicas que respondan a las necesidades actuales del desarrollo web.
Cuestionario inicial¶
¡Ponte a prueba!
- ¿Qué significa PHP?
- Personal Home Page
- Private Home Protocol
- Personal Hypertext Processor
- Hypertext Preprocessor
Respuesta correcta
Respuesta correcta: d. Hypertext Preprocessor.
- ¿Qué archivo PHP es comúnmente utilizado como el punto de entrada principal en muchos proyectos PHP?
connect.php
start.php
index.php
main.php
Respuesta correcta
Respuesta correcta: c. index.php
.
- ¿Cuál de los siguientes es un superglobal en PHP que se utiliza para recoger datos del formulario enviado mediante el método POST?
$_SERVER$
$_GET$
$_POST$
$_REQUEST$
Respuesta correcta
Respuesta correcta: c. $_POST$
.
- ¿Qué función se usa para insertar contenido de un archivo en un archivo PHP?
get_file_contents()
include()
file_get_contents()
require()
Respuesta correcta
Respuesta correcta: b. include()
.
- ¿Cuál es el propósito de la función echo en PHP?
- Guardar datos en una variable
- Imprimir datos en la salida
- Leer datos de una base de datos
- Modificar datos en un archivo
Respuesta correcta
Respuesta correcta: b. Imprimir datos en la salida.
- ¿Qué palabra clave se utiliza en PHP para definir una clase?
class
object
model
struct
Respuesta correcta
Respuesta correcta: a. class
.
- ¿Cómo se crea una instancia de una clase en PHP?
$objeto = new Clase();
$objeto = create Clase();
$objeto = construct Clase();
$objeto = initiate Clase();
Respuesta correcta
Respuesta correcta: a. $objeto = new Clase();
.
- ¿Cuál de las siguientes es una característica de la POO en PHP?
- Reutilización del código
- No permite la herencia
- Solo admite funciones
- No soporta encapsulamiento
Respuesta correcta
Respuesta correcta: a. Reutilización del código.
- ¿Qué palabra clave se utiliza para acceder a métodos o propiedades de la misma clase en PHP?
self
this
me
own
Respuesta correcta
Respuesta correcta: b. this
.
- ¿Qué concepto de POO se refiere a la capacidad de una subclase de heredar los métodos y propiedades de una superclase en PHP?
- Encapsulamiento
- Abstracción
- Polimorfismo
- Herencia
Respuesta correcta
Respuesta correcta: d. Herencia
Resumen UP¶
Resumen Unidad de Programación
Unidad de Programación
UP 02. PHP
Duración
20 Sesiones - 40H
Unidades de Trabajo de la UP
Resultados de Aprendizaje
RA2. Escribe sentencias ejecutables por un servidor Web reconociendo y aplicando procedimientos de integración del código en lenguajes de marcas.
RA3. Escribe bloques de sentencias embebidos en lenguajes de marcas, seleccionando y utilizando las estructuras de programación.
Preconocimiento
Conocimientos del módulo profesional de Programación de 1º.
Objetivos Generales
- OGl: Utilizar herramientas y lenguajes específicos, cumpliendo las especificaciones, para desarrollar e integrar componentes software en el entorno del servidor web.
- OGq: Programar y realizar actividades para gestionar el mantenimiento de los recursos informáticos.
- OGs: Desarrollar la creatividad y el espíritu de innovación para responder a los retos que se presentan en los procesos y organización de trabajo y de la vida personal.
- OGt: Tomar decisiones de forma fundamentada analizando las variables implicadas, integrando saberes de distinto ámbito y aceptando los riesgos y la posibilidad de equivocación en las mismas, para afrontar y resolver distintas situaciones, problemas o contingencias.
Competencias Profesionales, Personales y Sociales.
- CPRg: Desarrollar interfaces en aplicaciones web de acuerdo con un manual de estilo, utilizando lenguajes de marcas y estándares web.
- CPRh: Desarrollar componentes multimedia para su integración en aplicaciones web, empleando herramientas específicas y siguiendo las especificaciones establecidas.
- CPRj: Desarrollar e integrar componentes software en el entorno del servidor web, empleando herramientas y lenguajes específicos, para cumplir las especificaciones de la aplicación.
- CPEq: Resolver situaciones, problemas o contingencias con iniciativa y autonomía en el ámbito de su competencia, con creatividad, innovación y espíritu de mejora en el trabajo personal y en el de los miembros del equipo.
Objetivos Didácticos
- OD1: Integración de etiquetas para la inclusión de código en el lenguaje de marcas.
- OD2: Escribir sentencias simples.
- OD3: Diseñar programas simples.
- OD4: Desarrollar programas orientados a objetos.
- OD5: Implementar herencia en programas.
- OD6: Gestionar errores y excepciones.
Contenidos Específicos
- CES1. Estructura de un programa en PHP.
- CES2. Tipos de variable.
- CES3. Estructuras de control.
- CES4. Programación modular.
- CES5. Arquitectura web.
- CES6. Diferencias entre clase y objeto
- CES7. Aplicación de la encapsulación
- CES8. Diseño programas con herencia
- CES9. Implementación interfaces
- CES10. Gestión errores y excepciones
Actividades Formativas
Actividades de enseñanza y aprendizaje. AEA
Criterios Evaluación
Instrumento Evaluación
Instrumento Calificación
AC 201. Muestra tres frases utilizando PHP.
CE2a CE2d
IE1
IC1
AC 202. Uso de variables para operaciones básicas.
CE2d CE2g
IE1
IC1
AC 203. Almacenar datos personales y mostrar tabla con ellos.
CE2c CE2d CE2g
IE1
IC1
AC 204. Desglose de cantidad en billetes y monedas.
CE2d CE2g
IE1
IC1
AC 207. Números pares en un intervalo.
CE2e CE2f CE2h
IE1
IC1
AC 210. Rellenar un array en un intervalo.
CE3a CE3b CE3c
IE1
IC1
AC 214. Inicio de librería de funciones.
CE3a CE3b CE3d
IE1
IC1
AC 215. Continuación de librería de funciones.
CE3a CE3b CE3d
IE1
IC1
PR 216. Ticket de supermercado.
CE3a CE3b CE3d CE3g
IE2
IC2
PR 217. Ticket de supermercado con plantillas.
CE3a CE3b CE3d CE3g
IE2
IC2
AC 218. Refactorizar AC 203 con el uso de formularios.
CE3e CE3f
IE1
IC1
PR 220. Sistema de acceso básico para el instituto.
CE3e CE3f CE3g
IE2
IC2
RE 221. Inicio Reto 1.
CE3a CE3b CE3c CE3d CE3e CE3f CE3g
IE2
IC2
AC 222. Refactorizar PR 216.
CE3b CE3d
IE1
IC1
AC 223. Programa que resuelva una ecuación de 2º grado.
CE3a CE3b
IE1
IC1
AC 301. Creación clase empleado.
CE3d
IE1
IC1
AC 302. Modificando clase empleado.
CE3b CE3c CE3d
IE1
IC1
AC 303. Modificar AC 302.
CE3b CE3d
IE1
IC1
AC 305. Mejoras en AC 303.
CE3b CE3c CE3d
IE1
IC1
AC 307. Implementar toHtml en AC 305.
CE3b CE3c CE3d
IE1
IC1
AC 308. Implementar herencia.
CE3b CE3d
IE1
IC1
AC 309. Añadir toHtml en AC 308.
CE3b CE3d
IE1
IC1
PR 312. Diseñar clases de la SA.
CE3b CE3c CE3d CE3g
IE2
IC2
PR 313. Implementar una interfaz.
CE3b CE3c CE3d CE3g
IE2
IC2
PR 314. Implementar métodos mágicos en PR 313.
CE3b CE3c CE3d CE3g
IE2
IC2
AC 315. Implementar espacio de nombres.
CE3d
IE1
IC1
PR 316. Implementar el control de excepciones en la SA.
CE3b CE3d CE3g
IE2
IC2
RE 317. Implementar el Reto 1 a partir del informe de RE 221.
CE3a CE3b CE3c CE3d CE3e CE3f CE3g
IE2
IC2
Prueba de Auditoría.
Criterios Evaluación
Instrumento Evaluación
Instrumento Calificación
CU 224. Multi-opción (test) sobre la unidad.
CE2a CE2b CE2c CE2d CE2e CE2f CE2g CE2h CE3a CE3b CE3c CE3d CE3e CE3f CE3g
IE4
IC5
PO 225. Prueba práctica sobre lo visto en la unidad.
CE2a CE2b CE2c CE2d CE2e CE2f CE2g CE2h CE3a CE3b CE3c CE3d CE3e CE3f CE3g
IE5
IC2
CU 318. Multi-opción (test) sobre la unidad.
CE3a CE3b CE3c CE3d CE3e CE3f CE3g
IE4
IC5
PO 319. Prueba práctica sobre lo visto en la unidad.
CE3a CE3b CE3c CE3d CE3e CE3f CE3g
IE5
IC2
Actividades de refuerzo. AR
Criterios Evaluación
Instrumento Evaluación
Instrumento Calificación
AR 205. A partir de un número, mostrar si es positivo o negativo.
CE2c CE2d CE2g
IE1
IC1
AR 206. Programa que funcione como un reloj.
CE2c CE2d CE2g
IE1
IC1
AR 208. Programa que sume los números de 1 al 10.
CE2d CE2e CE2g CE2h
IE1
IC1
AR 213. Array bidimensional relleno con números aleatorios.
CE3a CE3b CE3c CE3g
IE1
IC1
AR 219. Formulario para mostrar edad en 10 años.
CE3e CE3f CE3g
IE1
IC1
AR 306. Mejoras en AC 305.
CE3b CE3c CE3d CE3g
IE1
IC1
AR 310. Modificaciones en AC 309.
CE3b CE3d CE3g
IE1
IC1
Actividades de profundización. AP
Criterios Evaluación
Instrumento Evaluación
Instrumento Calificación
AP 209. Calcular la potencia mediante acumulación de productos.
CE2d CE2e CE2g CE2h
IE1
IC1
AP 211. Programa que simula las galletas chinas.
CE3a CE3b CE3c
IE1
IC1
AP 212. Implementar AC 204 con arrays.
CE3a CE3b CE3c
IE1
IC1
AP 304. Refactorizar AC 304 con la sintaxis de PHP 8 de promoción de las propiedades del constructor.
CE3b CE3c CE3d CE3g
IE1
IC1
AP 311. Modificaciones en AC 309.
CE3b CE3d CE3g
IE1
IC1
Validación Criterios de Evaluación¶
Resultado de Aprendizaje
RA2. Escribe sentencias ejecutables por un servidor Web reconociendo y aplicando procedimientos de integración del código en lenguajes de marcas.
Duración
12 Sesiones - 24H
CCEE
Actividades Obligatorias
(AC / PR / RE / CU / PO)
Actividades Refuerzo / Profundización
(AR / AP)
Puntos
Relevancia porcentual
CE2a
AC 201, CU 224, PO 225
5
12.5%
CE2b
CU 224, PO 225
4
12.5%
CE2c
AC 201, AC 203, CU 224, PO 225
AR 205, AR 206
5
12.5%
CE2d
AC 201, AC 202, AC 203, AC 204, AC 207, CU 224, PO 225
AR 205, AR 206, AR 208, AP 209
7
12.5%
CE2e
AC 207, CU 224, PO 225
AR 208, AP 209
5
12.5%
CE2f
AC 207, CU 224, PO 225
5
12.5%
CE2g
AC 202, AC 203, CU 224, PO 225
AR 205, AR 206, AR 208, AP 209
7
12.5%
CE2h
AC 207, CU 224, PO 225
AR 208, AP 209
7
12.5%
Resultado de Aprendizaje
RA3. Escribe bloques de sentencias embebidos en lenguajes de marcas, seleccionando y utilizando las estructuras de programación.
Duración
8 Sesiones - 16H
CCEE
Actividades Obligatorias
(AC / PR / RE / CU / PO)
Actividades Refuerzo / Profundización
(AR / AP)
Puntos
Relevancia porcentual
CE3a
AC 210, AC 214, AC 215, PR 216, PR 217, RE 221, AC 223, CU 224, PO 225, RE 317, CU 318, PO 319
AP 211, AP 212, AR 213
12
14.28%
CE3b
AC 210, AC 214, AC 215, PR 216, PR 217, RE 221, AC 222, AC 223, CU 224, PO 225, AC 302, AC 303, AC 305, AC 307, AC 308, AC 309, PR 312, PR 313, PR 314, PR 316, RE 317, CU 318, PO 319
AP 211, AP 212, AR 213, AP 304, AR 306, AR 310, AP 311
24
14.28%
CE3c
AC 210, RE 221, CU 224, PO 225, AC 302, AC 305, AC 307, PR 312, PR 313, PR 314, RE 317, CU 318, PO 319
AP 211, AP 212, AR 213, AP 304, AR 306
20
14.28%
CE3d
AC 214, AC 215, PR 216, PR 217, RE 221, AC 222, CU 224, PO 225, AC 301, AC 302, AC 303, AC 305, AC 307, AC 308, AC 309, PR 312, PR 313, PR 314, AC 315, PR 316, RE 317, CU 318, PO 319
AP 304, AR 306, AR 310, AP 311
20
14.28%
CE3e
AC 218, PR 220, RE 221, CU 224, PO 225, RE 317, CU 318, PO 319
AR 219
20
14.28%
CE3f
AC 218, PR 220, RE 221, CU 224, PO 225, RE 317, CU 318, PO 319
AR 219
20
14.28%
CE3g
PR 216, PR 217, PR 220, RE 221, CU 224, PO 225, PR 312, PR 313, PR 314, PR 316, RE 317, CU 318, PO 319
AR 213, AR 219, AP 304, AR 306, AR 310, AP 311
15
14.28%
Referencias¶
- Manual: Manual de PHP
- Vídeo: Aprende PHP8 desde cero, por midulive
- Web: Apuntes de PHP de Bartolomé Sintes, profesor del IES Abastos de Valencia
- Manual: Manual de OO en PHP - www.desarrolloweb.com
- Web: Guía de Estilo - PSR
- Manual: PHP - La manera correcta
- Web: Desarrollo Web en Entorno Servidor, por Aitor Medrano
Links de interés¶
- Web: Cómo trabajar con arrays en PHP de la manera correcta.
- Web: Cómo ordenar arrays en PHP.
- Web: Funciones anónimas y flecha en PHP
- Web: Tutorial de la librería SPL por Diego Lázaro