Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3B
Aplicando OO al proyecto
1
Aplicando OO al proyecto
• El ejercicio 3 describe unos pasos a seguir para aplicar OO al proyecto y conseguir que tenga
una estructura más adecuada
• Es conveniente que estas adaptaciones las hagas en tu proyecto paso a paso para que te resulte
más fácil corregir los errores que se vayan produciendo
• En esta presentación se contemplan estos pasos:
1) Organización de carpetas
2) Fichero config.php
3) Clase Aplicacion
4) Clase Usuario
5) Clase Formulario
• Ejemplos
• Ej33login: Programa sencillo de login de usuario que contiene los pasos 1 a 3
• Ej33usuario: Evolución de la aplicación del ejercicio 2 que contiene los pasos 1 a 4
• Ej33formulario: Aplica clase Formulario al ejercicio anterior
https://help.one.com/hc/es/articles/115005586169--Qué-es-htaccess-
Invocación en programas:
require_once __DIR__.'/includes/config.php’;
// Inicializa la aplicación
$app = Aplicacion::getSingleton();
$app->init(array('host'=>BD_HOST, 'bd'=>BD_NAME,
'user'=>BD_USER, 'pass'=>BD_PASS));
register_shutdown_function(array($app, 'shutdown'));
if (! isset($_POST['login']) ) {
header('Location: login.php');
exit();
https://www.php.net/manual/es/function.header.php
<?php
// Ejemplo de uso para: Operador Ternario
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
// Lo anterior es idéntico a esta sentencia if/else
if (empty($_POST['action'])) {
$action = 'default';
} else {
$action = $_POST['action'];
}
?>
// sin embargo, la salida real de lo anterior es 't'
// esto se debe a que las expresiones ternarias se evalúan de izquierda a derecha
// la siguiente es una versión más obvia del mismo código anterior
echo ((true ? 'true' : false) ? 't' : 'f');
// aquí, se puede ver que la primera expresión es evaluada como 'true', que
// a su vez se evalúa como (bool)true, retornando así la rama verdadera de la
// segunda expresión ternaria.
?>
Tema 3.1 Ejecución de código en el servidor 14
5 Clase formulario
Clase usuario
https://gist.github.com/AlfonsoMonroyIV/10340565
Clase aplicacion
https://gist.github.com/jonashansen229/4534794