Está en la página 1de 13

Control semana 7

Eduardo Núñez González


Programación
Instituto IACC
05-10-2021
1. Una empresa que ofrece servicios de salud le pide a usted que programe en su
página web un formulario de contacto como el que se muestra en la imagen:

¿Qué propuesta de mejora considera que se le pueda plantear a este formulario? ¿Con qué
comandos -tanto HTML como de PHP-se puede generar este requerimiento? Describa la
programación que implementaría en cada uno de los elementos del formulario a su criterio.
Diseño de formulario.
Código del formulario de HTML, usando las etiquetas para dar forma y estilos, las cajas de
texto y el botón se utiliza CSS.

CÓDIGO HTML:

<!DOCTYPE html>
<html lang="en">
<head>
<link type="text/css" rel="stylesheet" href="style.css">
</head>
<body>
<header class="principal">
<h1>Formulario de contacto</h1>
Completa el formulario y te responderemos a la brevedad.
</header>
<section class="principal">
<form method="post" action="index.php">
<label for="nombre">Nombre:</label>
<input id="nombre" name="nombre" placeholder="Nombre completo" required>
<label for="email">Email:</label>
<input id="email" name="email" type="email" placeholder="ejemplo@email.com"
required>
<label for="nombre">Sexo:</label>
<select name="sexo" style="width: 400px; height:50px; border:2px solid #f6f6f6;
padding:10px; margin-top:5px; font-size:15px">
<option disabled selected>Selecciona una opcion</option>
<option value="1">Hombre</option>
<option value="2">Mujer</option>
</select>
<label for="nombre">Telefono:</label>

<input id="telefono" name="telefono" placeholder="Telefono" required>


<label for="consulta">Consulta:</label>
<textarea id="consulta" name="consulta" placeholder="Cuentanos tu duda"></textarea>
<input id="submit" name="submit" type="submit" value="Enviar consulta" required>
</form>
</section>
</body>
</html>
CSS:

label {
dsplay:block;
margin-top:20px;
letter-spacing:1px;
}

.principal {
display:block;
margin : 0 auto;
width:510px;
color:#333;
font-family:Ariel;
}

from {
margin: 0 auto;
width:400px;
}

input, textareav{
width:380px;
height:27px:
background:#ffffff
}

textarea {
height: 8em;
}

#submit {
width:85px;
height:35px;
border:none;
margin-top:20px;
cursor:pointer;
background-color:#333;
color: #ffffff
}
formulario en PHP, para la captura de datos.

<?php
if ($_server['request_method'] -- "post") {
$nombre = $_post["nombre"];
$email = $_post["email"];
$consulta = $_post["consulta;

if ($_post["submit"])
{
?>
<hl style= "text-aling: center;">
<?php echo "Envio Consulta";?></hl>
<?php
}
}
?>
</article>
2. Usted se reúne con un equipo de desarrollo de software, con quienes realiza un
proyecto integrado en PHP. Sus compañeros le piden que plantee un ejemplo de cómo utilizarla
librería estándar PHP y que les muestre un ejemplo de su aplicabilidad. Plantee su respuesta al
equipo de desarrollo.

Desarrollo:

La iteración es el proceso de recorrer una lista de elementos.

foreach(spl_classes() as $key => $value)


{
echo $key.' -> '.$value.'<br>';

Iteradores realizan la función de iterar un arrays, y pueden albergar una gran cantidad de
datos y organizarlos más eficientemente.
foreach puede resultar muy costoso. Los iteradores SPL encapsulan las listas de datos y
muestran un elemento cada vez haciéndolo mucho más eficiente.

Los iteradores también facilitan el lazy loading, es decir, devuelven los datos sólo cuando
se necesita. También se pueden manipular los datos antes de devolverlos al usuario.

Usar o no usar iteradores SPL es una decisión que depende del proyecto en el que se esté
trabajando. Normalmente cuando se trabaja con una gran cantidad de datos es más conveniente
usarlos.

Ejemplos:

1. ArrayIterator

El constructor de la clase ArrayIterator recibe un array como parámetro y proporciona


métodos con los que iterar mediante el objeto creado:

$animales = ["perro", "gato", "liebre", "toro", "conejo"];


// Se crea un nuevo ArrayIterator y se pasa el array
$iterador = new ArrayIterator($animales);
// Se hace loop con el objeto
foreach ($iterador as $key => $value) { echo $key . ": " . $value .
"<br>";
}
/*
0: perro
1: gato
2: liebre
3: toro
4: conejo
*/

Normalmente se utiliza ArrayObject, una clase que permite trabajar con objetos como si
fueran arrays. Esta clase crea directamente un ArrayIterator cuando se usa un loop foreach o
cuando se llama al método ArrayIterator::getIterator().

Conviene apuntar que tanto ArrayObjet como ArrayIterator son objetos, y no se pueden
usar funciones de arrays en ellos.

ArrayIterator está limitado a arrays unidimensionales, de un sólo nivel. Para poder utilizarlo
en arrays multidimensionales se puede utilizar RecursiveArrayIterator.

2. ArrayAccess

ArrayAccess es una interface de PHP que permite dictar cómo se comportará PHP cuando
un objeto tenga una sintaxis de array (corchetes después del objeto). ArrayAccess sólo tiene 4
funciones a implementar: offsetExists, offsetGet, offsetSet y offsetUnset. Para implementar la
interface sólo hay que declarar estos métodos en la clase:
class Animal implements ArrayAccess { protected $animales;
public $lugar;
public function offsetExists($index){ return isset($this-
>animales[$index]);
}
public function offsetGet($index){ if($this->offsetExists($index)) {
return $this->animales[$index];
}
return false;
}
public function offsetSet($key, $value){ if($key) {
$this->animales[$key] = $value;
} else {
$this->animales[] = $value;
}
return true;
}
public function offsetUnset($index){ unset($this->animales[$index]);
return true;
}
public function getAnimales() { return $this->animales;
}
}

Podemos usar las propiedades y métodos de forma normal como en cualquier objeto, pero además
podemos usar la sintaxis de array para manipular $animales:

$animal = new Animal;


$animal->lugar = "Asia y Oceania";
$animal[] = "Oso panda";
$animal[] = "Koala";
$animales = $animal->getAnimales(); foreach ($animales as $anim){
echo $anim . "<br>";
}
/* Devuelve: Oso panda Koala
*/
Material complementario semana 6
<?php
$idioma = array("Inglés", "Francés", "Alemán", "Español");
$nivel = array("Básico ", "Medio ", "Avanzado ");
$espacio = " ";
$aa = array([1,14,9,13],[6,19,7,2],[3,13,4,1]);
$rc = array(0,0,0);
$rf = array(0,0,0,0); echo " "; for($c=0;$c<4;$c++) {
if ($c==0){
echo
"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nb
sp&nbsp";
}
if ($c==2){
echo "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
}
echo "&nbsp&nbsp&nbsp".$idioma[$c]."&nbsp&nbsp&nbsp";
}
echo "<br/>"; echo "<br/>";
for($r=0;$r<3;$r++){ echo $nivel[$r]; for($c=0;$c<4;$c++) {
if ($c==0){
if($r==2){
echo "&nbsp";
}else{
echo "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
}
}
$rc[$r] += $aa[$r][$c];
$rf[$c] += $aa[$r][$c]; if($c==2){
echo "&nbsp&nbsp&nbsp&nbsp";
}
if($c==3){
echo "&nbsp&nbsp&nbsp&nbsp";
}
echo "&nbsp&nbsp&nbsp";
?>
<span style="border-image: initial; border: 1px solid black;"> <?php echo $aa[$r] [$c]?>
</span>
<?php
echo "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
}
if($r>0){
echo "&nbsp&nbsp";
}
echo " = ";
?>
<span style="border-image: initial; border: 1px solid black;"> <?php echo $rc[$r] ?
> </span>
<?php
echo "<br/>"; echo "<br/>";
}
echo " "; echo "<br/>";
echo " "; for($c=0;$c<4;$c++) {
if ($c==0){
echo
"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nb
sp&nbsp";
}
if ($c>1){
echo "&nbsp&nbsp&nbsp";
}
echo "&nbsp&nbsp&nbsp&nbsp";
?>
<span style="border-image: initial; border: 1px solid black;"> <?php echo $rf[$c] ?
> </span>
<?php
echo "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
}

?>
Bibliografía

https://diego.com.es/tutorial-de-la-libreria-spl-de-php
IACC (2018). Formularios. Programación. Semana 7.

También podría gustarte