Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M V
Gabriel Carrillo
C
Introducción
Tecnología Web
Petición Apache
PostgreSQL
Mozilla Firefox Respuesta
CLIENTE SERVIDOR
Directorio de la aplicación
Clases
Controladores
Hojas de estilo
Modelos
Vistas
El flujo de control en una aplicación se realiza de acuerdo con los pasos siguientes:
El flujo de control en una aplicación se realiza de acuerdo con los pasos siguientes:
<?php
/**
* Archivo : index.php
*/
Archivo index.php // Leer controlador. Si no hay controlador definido,
// valor por defecto es Sesion.
if(! empty($_GET['cnt'])) {
$controllerName = $_GET['cnt'];
} else {
$controllerName = "Sesion";
Es el único punto de }
$controllerPath = 'controladores/'. $controllerName . '.php';
entrada a la aplicación
// Leer la accion. Si no hay accion definida, tomar inicio.
if(! empty($_GET['act'])) {
$actionName = $_GET['act'];
} else {
$actionName = "inicio";
}
Controlador c1
Acción A1
Controlador c2
Petición Controlador
Acción A2
frontal
Controlador cn
Acción An
Lectura de parámetros:
Controlador, acción
El controlador es una clase. Está definida dentro de un archivo con extensión PHP.
} }
} }
Ciudad.php Contacto.php
Gabriel Carrillo - Venezuela 2013
El controlador
<?php
La clase Ciudad es un class Ciudad {
controlador, y contiene public function inicio() {
todas las acciones que se require "clases/classVista.php";
pueden ejecutar. require "modelos/modeloCiudad.php";
// conexion a la base de datos
require "inc/dbConnect.php";
Llamada a la clase // LECTURA DE LA TABLA ciudad
modeloCiudad para la $oCiudad = new modeloCiudad($idConn);
lectura de tabla de base $rs = $oCiudad->leerTodo();
de datos
// Transforma el resulta $rs en un arreglo asociativo
$item =array();
while ($rows = mysql_fetch_array($rs))
{
$item[] = $rows;
}
Llamada a la clase Vista // parametros para la vista
para dar salida de datos al $datos["item"] = $item;
navegador $datos["titulo1"] = "LISTA DE CIUDADES ";
session_start();
$datos["userNombre"] = $_SESSION["nombreSesion"];
// Salida de la vista
$oSalida = new Vista("ciudad.php",$datos);
}
Cada modelo se crea mediante una clase, definida con código php en un
archivo con nombre igual a la clase.
<?php
class modeloCiudad {
private $idConn;
function __construct() {
}
function leerTodo() {
}
}
modeloCiudad.php
<?php
class modeloCiudad {
Ejemplo de una clase. Los private $idConn;
métodos (operaciones
permitidas) de la clase se function __construct($idConn)
definen mediante {
$this->idConn = $idConn;
funciones. }
function leerTodo()
{
$sql = "SELECT * FROM ciudad ORDER BY cd_id ASC";
$resultSet = mysql_query($sql,$this->idConn);
return $resultSet;
}
function obtenerDatos($id)
{
$sql = "SELECT * FROM ciudad
WHERE cd_id = '$id'";
$resultSet = mysql_query($sql,$this->idConn);
return $resultSet;
}
function contarRegistro($nombre)
{
$sql = "SELECT * FROM contacto WHERE con_nombre = '$nombre' ";
$resultSet = mysql_query($sql,$this->idConn);
return mysql_num_rows($resultSet);
}
function insertar($nombre,$tlf)
{
$conn = $this->idConn;
$sql = "INSERT INTO contacto (con_nombre,con_tlf)
VALUES ('$nombre','$tlf' )";
mysql_query($sql,$conn);
}
function modificar($id,$nombre,$tlf)
{
$conn = $this->idConn;
$sql = "UPDATE contacto SET con_nombre='$nombre',con_tlf='$tlf'
WHERE con_id = '$id' ";
mysql_query($sql,$conn);
}
function eliminar($id)
{
$conn = $this->idConn;
$sql = "DELETE FROM contacto
WHERE con_id = '$id' ";
mysql_query($sql,$conn);
}
}
?>
Ejemplo de
una vista
navegador
<?php
La clase Vista se utiliza /**
* Archivo : classVista.php
para crear un objeto * Funcion : Definicion de la clase Vista
que forma la salida *
*/
class Vista {
public $data=array();
function __construct($template,$data=array()) {
if( is_array($data) ) {
extract($data);
}
$encabezado = "vistas/encabezado.php";
$template = "vistas/".$template;
$pie = "vistas/pie.php";
include($encabezado);
include($template);
include($pie);
}
}
?>
<?php
/**
*Archivo : ciudad.php
*Funcion : Listar datos de ciudades.
*/
$ver ="index.php?cnt=Beneficiarios&act=ver&benid=";
$modificar ="index.php?cnt=Contacto&act=modificar&id=";
$eliminar ="index.php?cnt=Contacto&act=eliminar&id=";
?>
<body>
<div id="contenedor">
<div id="encabezado">
</div>
<div id=datatable>
<?php
foreach($item as $fila) {
?>
<tr>
<td width=25> <?php echo $fila['cd_id'] ?> </td>
<td width=300> <?php echo $fila['cd_nombre'] ?></td>
<td width=30> <a title="Modificar" href=<?php echo $modificar.$fila['cd_id']; ?> >
<img src="inc/img/edit.png" width=15 height=15 border=0></a> </td>
<td width=30> <a title="Eliminar" href=<?php echo $eliminar.$fila['cd_id']; ?> >
<img src="inc/img/delete.gif" width=15 height=15 border=0></a> </td>
</tr>
<?php
}
?>
</table>
</div>
<button type="button"
OnClick="location='index.php?cnt=Ciudad&act=imprimir'">Imprimir</button>
<button type="button"
OnClick="location='index.php?cnt=Menu&act=inicio'">Regresar</button>
</td>
</tr>
</table>
Encabezado (encabezado.php)
Contenido (ciudad.php)
Vista en en el ejemplo.
Encabezado
Contenido
Pie de página
Encabezado
Contenido
Pie de página
<?php
/**
* ENCABEZADO
*
*Archivo : encabezado.php
*Funcion : Vista del encabezado para la aplicacion.
*/
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> <?php echo "$titulo1"; ?> </title>
<div id="pie">
<table border=0 >
<tr>
<td width=200> Version: 1 </td>
<td> Usuario : <?php echo $userNombre; ?></td>
</table>
</div>
</div>
</body>
</html>
/**
estilo.css
Autor: Gabriel Carrillo
*/
/* ------------------------------
GENERAL
-------------------------------*/
html {
background: #5f9ea0;
}
.rojo {
color: red;
}
.verde {
color: green;
}
/* ------------------------------
CONTENEDOR
-------------------------------*/
#contenedor {
font-family: arial;
width:80%;
margin-left:10%;
margin-right:10%;
background: #ffffff;
color: #000000;
}
#encabezado {
height: 120px;
/*background: #104E8B; */
background: url(../inc/img/header1.jpg) ;
}
#encabezado th {
font-size: 18;
color: white;
}