Documentos de Académico
Documentos de Profesional
Documentos de Cultura
jefferson.nunezg@ug.edu.ec
12/1/2021 15:19:06
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
La world wide web es solo una manera de acceder a la información a través de Internet,
y aunque representa una gran porción de esta y sin duda la más popular, no deben
tratarse como sinónimos, porque no son lo mismo.
Internet es una red de computadoras que se encuentran interconectadas a nivel
mundial para compartir información.
Fuentes:
https://www.diferenciador.com/diferencia-entre-internet-y-web/
http://ific.uv.es/wop/SABER_MAS/internet.html
https://blogthinkbig.com/internet-y-la-web
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
Fuentes:
https://www.timetoast.com/timelines/la-evolucion-de-las-aplicaciones-
web-499d1f8a-5537-44cf-bf36-86906c92f067
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
Nivel Aplicaciones
Servicios específicos a
usuarios
Transmitir datos de
forma óptima y libre de
errores entre
aplicaciones
Comunicación de
paquetes a través de la
red
Nivel Físico
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
1.5 URI
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
1.5 URL
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
Carrera de Ingeniería en Sistemas Computacionales
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
UNIDAD 1: INTRODUCCIÓN A
Carrera de Ingeniería en Sistemas Computacionales LAS APLICACIONES WEB
12/1/2021 15:19:06
Desarrollo de Aplicaciones Web
Tecnologías para el desarrollo web
Cliente Servidor
JavaScript JSP
ASP.net Phyton
VB Script PHP
Html JSF
CSS Servlets
Resumen:
Cómo funciona la Web?
• 3 conceptos fundamentales: Web Server
• – URLs: direcciones de los recursos.
• – HTTP: diálogo entre cliente y servidor.
• – HTML: formato de los recursos. Web Browser
SGML fue trabajado en 1998 al formato XML, un perfil exitoso de SGML. El uso
completo de SGML se encuentra raramente o nulo en nuevos proyectos.
Universidad de Guayaquil
Facultad de Ciencias Matemáticas y Físicas
Carrera de Ingeniería en Sistemas Computacionales
12/1/2021 3
¿QUÉ ES EL HTML?
12/1/2021 4
UN DOCUMENTO HTML SIMPLE
Ejemplo explicado:
La <!DOCTYPE html> declaración define que este documento es un
documento HTML5
El <html> elemento es el elemento raíz de una página HTML.
El <head> elemento contiene metainformación sobre la página HTML.
El <title> elemento especifica un título para la página HTML (que se
muestra en la barra de título del navegador o en la pestaña de la página)
El <body> elemento define el cuerpo del documento y es un contenedor
para todos los contenidos visibles, como encabezados, párrafos, imágenes,
hipervínculos, tablas, listas, etc.
El <h1> elemento define un encabezado grande
12/1/2021 5
El <p> elemento define un párrafo.
¿QUÉ ES UN ELEMENTO HTML?
Un elemento HTML se define mediante una etiqueta de inicio, algo de contenido y una etiqueta de finalización:
< tagname > El contenido va aquí ... < / tagname >
El elemento HTML es todo, desde la etiqueta de inicio hasta la etiqueta de finalización:
< h1 > Mi primer encabezado < / h1 >
< p > Mi primer párrafo. < / p >
Nota: Algunos elementos HTML no tienen contenido (como el elemento <br>). Estos elementos se llaman elementos
vacíos. ¡Los elementos vacíos no tienen una etiqueta final!
12/1/2021 6
NAVEGADORES WEB
12/1/2021 7
ESTRUCTURA DE PÁGINA HTML
12/1/2021 8
EDITORES HTML
Las páginas web se pueden crear y modificar utilizando editores HTML profesionales.
Sin embargo, para aprender HTML, se recomienda un editor de texto simple como Notepad (PC) o TextEdit
(Mac).
Creemos que usar un editor de texto simple es una buena manera de aprender HTML.
12/1/2021 9
PRIMERA PÁGINA WEB CON BLOC DE NOTAS / TEXTEDIT
O CUALQUIER OTRO EDITOR
PRÁCTICA HTML
12/1/2021 10
DOCUMENTOS HTML
12/1/2021 11
LA DECLARACIÓN <! DOCTYPE>
La <!DOCTYPE>declaración representa el tipo de documento y ayuda a los navegadores a mostrar las páginas
web correctamente.
Solo debe aparecer una vez, en la parte superior de la página (antes de cualquier etiqueta HTML).
La <!DOCTYPE>declaración no distingue entre mayúsculas y minúsculas.
La <!DOCTYPE>declaración para HTML5 es:
12/1/2021 12
ENCABEZADOS HTML
12/1/2021 13
PÁRRAFOS HTML
12/1/2021 14
ENLACES HTML
12/1/2021 15
IMÁGENES HTML
12/1/2021 16
ELEMENTOS DE FORMATO HTML
Los elementos de formato fueron diseñados para mostrar tipos especiales de texto:
<b> - Texto en negrita
<strong> - Texto importante
<i> - Texto en cursiva
<em> - Texto enfatizado
<mark> - Texto marcado
<small> - Texto más pequeño
<del> - Texto eliminado
<ins> - Texto insertado
<sub> - Texto del subíndice
<sup> - Texto superíndice
12/1/2021 17
COMENTARIOS HTML
12/1/2021 18
COLORES HTML
Nombres de colores
En HTML, se puede especificar un color utilizando un nombre de color:
12/1/2021 19
COLOR DE FONDO
12/1/2021 20
COLOR DE TEXTO
12/1/2021 21
COLOR DE BORDE
12/1/2021 22
SEGUNDA PÁGINA WEB CON BLOC DE NOTAS / TEXTEDIT
O CUALQUIER OTRO EDITOR
PRÁCTICA HTML
12/1/2021 23
PRÁCTICA HTML
12/1/2021 24
PRÁCTICA HTML
12/1/2021 25
HTML: ESTRUCTURA Y SINTAXIS
DESARROLLO DE APLICACIONES WEB
TABLAS HTML
Las tablas HTML permiten a los desarrolladores web organizar los datos en filas y columnas.
12/1/2021 2
DEFINIR UNA TABLA HTML
12/1/2021 4
TABLA HTML: CELDA QUE ABARCA MUCHAS FILAS
Para hacer que una celda abarque más de una fila, use
el atributo rowspan:
12/1/2021 5
TABLA HTML: AGREGAR UN TÍTULO
12/1/2021 6
LISTAS HTML
Las listas HTML permiten a los desarrolladores web agrupar un conjunto de elementos relacionados en listas.
12/1/2021 7
LISTA HTML DESORDENADA
12/1/2021 8
LISTA HTML ORDENADA
12/1/2021 9
LISTAS DE DESCRIPCIÓN HTML
12/1/2021 10
BLOQUES HTML Y ELEMENTOS EN LÍNEA
HTML
12/1/2021 11
ELEMENTOS A NIVEL DE BLOQUE
12/1/2021 12
ELEMENTOS A NIVEL DE BLOQUE EN HTML
12/1/2021 13
ELEMENTOS EN LÍNEA
12/1/2021 14
ELEMENTOS EN LÍNEA EN HTML
12/1/2021 15
EL ELEMENTO <DIV>
12/1/2021 16
EL ELEMENTO <SPAN>
12/1/2021 17
APUNTES
12/1/2021 18
CREAR PÁGINA(S) WEB HTML5
CONSIDERANDO SU ESTRUCTURA ESENCIAL DE ACUERDO AL ENUNCIADO PROPUESTO.
12/1/2021 19
HTML Y ESTILOS CSS
¿Qué es CSS?
Las hojas de estilo en cascada (CSS) se utilizan para
formatear el diseño de una página web.
Con CSS, puede controlar el color, la fuente, el tamaño
del texto, el espacio entre los elementos, cómo se
colocan y distribuyen los elementos, qué imágenes de
fondo o colores de fondo se utilizarán, diferentes
pantallas para diferentes dispositivos y tamaños de
pantalla, y mucho ¡más!
CSS ahorra mucho trabajo.
Puede controlar el diseño de varias páginas web a la vez.
12/1/2021 1
USANDO CSS
12/1/2021 2
CSS EN LÍNEA
12/1/2021 3
CSS INTERNO
12/1/2021 4
EL ATRIBUTO CLASS
12/1/2021 6
CLASES MÚLTIPLES
12/1/2021 7
DIFERENTES ELEMENTOS PUEDEN COMPARTIR LA MISMA CLASE
12/1/2021 8
CSS EXTERNO
12/1/2021 9
SELECTORES CSS
Los selectores CSS se utilizan para "encontrar" (o seleccionar) los elementos HTML que desea
diseñar.
Podemos dividir los selectores CSS en cinco categorías:
Selectores simples (seleccione elementos basados en nombre, id, clase)
Selectores de combinador (seleccione elementos basados en una relación específica entre ellos)
Selectores de pseudo-clase (seleccionar elementos basados en un cierto estado)
Selectores de pseudoelementos (seleccionar y diseñar una parte de un elemento)
Selectores de atributos (seleccione elementos basados en un atributo o valor de atributo)
12/1/2021 10
SELECTORES CSS
Ejemplo
Aquí, todos los elementos <p> de la página estarán alineados al centro, con un color de texto rojo:
p{
text-align: center;
color: red;
}
12/1/2021 11
SELECTORES CSS
Ejemplo
La siguiente regla CSS se aplicará al elemento HTML con id = "para1":
#para1 {
text-align: center;
color: red;
}
12/1/2021 12
12/1/2021 13
SELECTORES CSS
El selector de clase CSS
También puede especificar que solo los elementos HTML específicos se vean afectados por una clase.
Ejemplo
En este ejemplo, solo los elementos <p> con class = "center" estarán alineados al centro:
p.center {
text-align: center;
color: red;
}
12/1/2021 14
SELECTORES CSS
Los elementos HTML también pueden referirse a más de una clase.
Ejemplo
En este ejemplo, el elemento <p> tendrá un estilo de acuerdo con class = "center" y class = "large":
<p class="center large">This paragraph refers to two classes.</p>
12/1/2021 15
12/1/2021 16
SELECTORES CSS
El selector de agrupación CSS
El selector de agrupación selecciona todos los elementos HTML con las mismas definiciones de estilo.
Mire el siguiente código CSS (los elementos h1, h2 y p tienen las mismas definiciones de estilo):
h1 {
text-align: center; Será mejor agrupar los selectores para minimizar el código.
color: red; Para agrupar selectores, separe cada selector con una coma.
}
Ejemplo
h2 { En este ejemplo, hemos agrupado los selectores del código anterior:
text-align: center; h1, h2, p {
color: red; text-align: center;
} color: red;
}
p{
text-align: center; 12/1/2021 17
color: red;
}
SELECTORES CSS
Todos los selectores simples de CSS
12/1/2021 18
Unidades CSS
CSS tiene varias unidades diferentes para expresar una longitud.
Muchas de las propiedades CSS toman valores "longitud", tales como width, margin, padding, font-size, etc.
La longitud es un número seguido de una unidad de longitud, como 10px, 2em, etc.
No puede aparecer un espacio en blanco entre el número y la unidad. Sin embargo, si el valor es 0, la unidad
puede omitirse.
12/1/2021 19
Longitudes absolutas
Las unidades de longitud absoluta son fijas y una longitud expresada en cualquiera de ellas
aparecerá exactamente como ese tamaño.
No se recomienda el uso de unidades de longitud absoluta en la pantalla, porque los tamaños
de pantalla varían mucho. Sin embargo, se pueden usar si se conoce el medio de salida, como
para el diseño de impresión.
Unit Description
cm centimetersTry it
mm millimetersTry it
in inches (1in = 96px = 2.54cm)Try it
px * pixels (1px = 1/96th of 1in)Try it
pt points (1pt = 1/72 of 1in)Try it
pc picas (1pc = 12 pt)
* Los píxeles (px) son relativos al dispositivo de visualización. Para dispositivos de baja
resolución, 1 px es un píxel (punto) de dispositivo de la pantalla. Para impresoras y
pantallas de alta resolución, 1px implica múltiples píxeles del dispositivo. 12/1/2021 20
Longitudes Relativas
Las unidades de longitud relativa especifican una longitud relativa a otra propiedad de longitud. Las unidades de longitud
relativa se escalan mejor entre diferentes medios de representación.
Unit Description
em Relative to the font-size of the element (2em means 2 times the size of the
current font)
ex Relative to the x-height of the current font (rarely used)
ch Relative to the width of the "0" (zero)
rem Relative to font-size of the root element
vw Relative to 1% of the width of the viewport*
vh Relative to 1% of the height of the viewport*
vmin Relative to 1% of viewport's* smaller dimension
vmax Relative to 1% of viewport's* larger dimension
% Relative to the parent element
Consejo: Las unidades em y rem son prácticas para crear diseños perfectamente escalables!
* Viewport = el tamaño de la ventana del navegador. Si la ventana gráfica tiene 50 cm de
ancho, 1vw = 0.5 cm.
12/1/2021 21
MODELO DE CAJA CSS
Todos los elementos HTML se pueden considerar como cuadros. En CSS, el término "modelo de caja" se
usa cuando se habla de diseño.
El modelo de cuadro CSS es esencialmente un cuadro que envuelve todos los elementos
HTML. Consiste en: márgenes, bordes, relleno y el contenido real.
12/1/2021 23
CREAR PÁGINA(S) WEB HTML5
CONSIDERANDO SU ESTRUCTURA ESENCIAL DE ACUERDO AL ENUNCIADO PROPUESTO.
12/1/2021 24
MAQUETACIÓN
• Frameworks CSS
• Propiedad flotante CSS
• CSS flexbox
• Cuadricula CSS
Frameworks de CSS
Si desea crear su diseño rápidamente, puede usar un frameworks CSS, como W3.CSS o Bootstrap .
<header>
<h2>Cities</h2>
</header>
<section>
<nav>
<ul>
<li><a href="#">London</a></li>
<li><a href="#">Paris</a></li>
<li><a href="#">Tokyo</a></li>
</ul>
</nav>
<article>
<h1>London</h1>
<p>London is the capital city of England. It is the most populous city in the
United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
<p>Standing on the River Thames, London has been a major settlement for two
millennia, its history going back to its founding by the Romans, who named it
Londinium.</p>
</article>
</section>
<footer>
<p>Footer</p>
</footer>
</body>
</html> 12/1/2021 4
MAQUETACIÓN
Diseño CSS Flexbox
El uso de flexbox asegura que los elementos se comporten de manera predecible cuando el
diseño de la página debe acomodar diferentes tamaños de pantalla y diferentes dispositivos de
visualización. /* Style the content */
article {
-webkit-flex: 3;
<!DOCTYPE html> /* Container for flexboxes */ -ms-flex: 3;
<html lang="en"> section { flex: 3;
<head> display: -webkit-flex; background-color: #f1f1f1;
<title>CSS Template</title> display: flex; padding: 10px;
<meta charset="utf-8"> } }
<meta name="viewport" content="width=device-
width, initial-scale=1"> /* Style the navigation menu */ /* Style the footer */
<style> nav { footer {
*{ -webkit-flex: 1; background-color: #777;
box-sizing: border-box; -ms-flex: 1; padding: 10px;
} flex: 1; text-align: center;
background: #ccc; color: white;
body { padding: 20px; }
font-family: Arial, Helvetica, sans-serif; }
} /* Responsive layout - makes the menu and the content (inside the section) sit on top of each other instead of next to
/* Style the list inside the menu */ each other */
/* Style the header */ nav ul { @media (max-width: 600px) {
header { list-style-type: none; section {
background-color: #666; padding: 0; -webkit-flex-direction: column;
padding: 30px; } flex-direction: column; 12/1/2021 5
text-align: center; }
font-size: 35px; }
color: white; </style>
} </head>
<body>
<header>
<h2>Cities</h2>
</header>
<section>
<nav>
<ul>
<li><a href="#">London</a></li>
<li><a href="#">Paris</a></li>
<li><a href="#">Tokyo</a></li>
</ul>
</nav>
<article>
<h1>London</h1>
<p>London is the capital city of England. It is the most populous city in the
United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
<p>Standing on the River Thames, London has been a major settlement for
two millennia, its history going back to its founding by the Romans, who named it
Londinium.</p>
</article>
</section>
<footer>
<p>Footer</p>
</footer>
</body> 12/1/2021 6
</html>
RESPONSIVE
¡El diseño web receptivo se trata de crear páginas web que se vean bien en todos los dispositivos!
Un diseño web receptivo se ajustará automáticamente para diferentes tamaños de pantalla y ventanas gráficas.
12/1/2021 7
¿Qué es el diseño web receptivo?
Responsive Web Design se trata de usar HTML y CSS para redimensionar, ocultar, reducir o
ampliar automáticamente un sitio web, para que se vea bien en todos los dispositivos
(computadoras de escritorio, tabletas y teléfonos):
12/1/2021 9
DESARROLLO DE APLICACIONES
WEB
Programación del lado del cliente
JAVASCRIPT: Introducción
JavaScript es el lenguaje de programación ligero más popular en
Internet.
JavaScript es un lenguaje interpretado (las secuencias de comandos
se ejecutan sin compilación preliminar).
Usualmente está embebido directamente en las páginas html a través
de la etiqueta <script> de forma interna o externa.
Interna:
<script type="text/javascript">
document.write("<p>Mi primer JavaScript</p>");
</script>
Archivo con extensión .js
Externa:
<script type="text/javascript" src="myScript.js"></script>
http://www.w3schools.com/js/js_intro.asp
JAVASCRIPT: Qué puede hacer?
JavaScript puede reaccionar a eventos - Un JavaScript puede ser
configurado para ejecutarse cuando algo sucede, como cuando una página ha
terminado de cargar o cuando un usuario da click en un elemento html.
JavaScript puede manipular elementos HTML - JavaScript puede leer y
modificar el contenido de un elemento HTML a través del uso de DOM.
JavaScript se puede utilizar para validar datos - un JavaScript se puede
utilizar para validar formularios de entrada de datos.
JavaScript puede ser utilizado para detectar el browser del visitante - y
dependiendo del browser cargar otra página diseñada específicamente para
ese navegador.
JavaScript puse ser usado para crear cookies - JavaScript puede ser usado
para almacenar y recuperar información en la computadora del visitante.
JAVASCRIPT: Sintáxis
JavaScripts puede ser colocado dentro de las secciones <head> o <body> de una
página html.
<html>
<body><h1>My Web Page</h1>
<p id="demo">Un párrafo</p>
<script type="text/javascript">
document.getElementById("demo").innerHTML=“Mi primer
JavaScript";
</script>
</body>
</html>
http://www.w3.org/DOM/
DOM : DOCUMENT OBJECT MODEL
El HTML DOM es un estandar para obtener, cambiar, añadir o eliminar
elementos HTML.
http://www.w3schools.com/htmldom/default.asp
JavaScript: Métodos principales
getElementById(id)
Permite obtener un elemento del documento html por su
ID. Retorna un elemento.
Ejemplo:
document.getElementById("demo").innerHTML = "Hello
JavaScript";
document.getElementById('myImage').src='pic_bulbon.gif'
JavaScript: Métodos principales
getElementsByTagName(tagname)
Permite obtener elementos por su nombre de etiqueta.
Retorna un arreglo de elementos
var x = document.getElementsByTagName("p");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.backgroundColor = "red";
}
JavaScript: Métodos principales
getElementsByName(name)
Permite obtener elementos por el valor de su atributo
name. Retorna un arreglo de elementos
var x = document.getElementsByName("animal");
var i;
for (i = 0;i < x.length;i++) {
if (x[i].type == "checkbox") {
x[i].checked = true;
}
}
JavaScript: Métodos principales
querySelector(selector)
Retorna el primer elemento cuyo selector CSS coincida
con el especificado.
document.querySelector("#demo").innerHTML = "Hello
World!";
var y= document.querySelector("a[target]");
y.style.color= "red";
JavaScript: Métodos principales
querySelectorAll(selector)
Retorna todos los elementos cuyo selector CSS coincida
con el especificado.
var x = document.querySelectorAll(".example");
x[0].style.backgroundColor = "red";
var x = document.querySelectorAll("a[target]");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.border = "10px solid red";
}
JavaScript: Métodos principales
createElement(tagname)
Crea un nodo de tipo elemento, según el nombre de
etiqueta especificado.
var para = document.createElement("P"); // Create a
<p> element
para.innerHTML = "This is a paragraph."; // Insert
text
document.getElementById("myDIV").appendChild(para); //
Append <p> to <div> with id="myDIV"
JavaScript: Métodos principales
appendChild(child)
Agrega el nodo especificado, como último hijo.
var item;
var lista = document.querySelector("ul");//selecciona elemento
ul
for (i = 0;i < 10;i++) {
item = document.createElement("li"); //crea elemento li
Item.innerHTML = " Item" + i; // escribe contenido en elemento item
lista.appendChild(item); // agrega el item a la lista
}
JavaScript: Métodos principales
removeChild(child)
Elimina el nodo especificado.
var lista = document.querySelector("ul");//selecciona la lista ul
var items = document.querySelector("ul li");//selecciona
elementos li de la lista ul
for (var i = 0;i < lista.length;i++) {
if (lista.hasChildNodes()) {
lista.removeChild(items[i]);// elimina cada item de la lista
}
}
JavaScript: objeto Style
El objeto style de cada elemento html representa su
estilo individual.
document.getElementById("demo").style.display = "none";
document.getElementById("demo").style.fontSize = "35px";
JavaScript: Eventos
Los eventos HTML son "cosas" que le suceden a los elementos HTML.
Cuando se usa JavaScript en páginas HTML, JavaScript puede "reaccionar" ante
estos eventos.
Un evento HTML puede ser algo que hace el navegador o algo que hace un usuario.
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
</body>
</html>
JavaScript: Eventos
HTML permite agregar atributos de controlador de eventos, con
código JavaScript , a elementos HTML.
Evento Descripción
onchange Se ha cambiado un elemento HTML.
onclick El usuario hace clic en un elemento
HTML.
onmouseover El usuario mueve el mouse sobre un
elemento HTML
onmouseout El usuario aleja el mouse de un elemento
HTML
onkeydown El usuario presiona una tecla del teclado
onload El navegador ha terminado de cargar la
página.
http://www.w3schools.com/js/js_obj_regexp.asp
Validación de Formularios
Validación de Formularios
Introducción a uno de
los lenguajes de
programación web
más usados en
Internet
¿Qué es PHP?
Lenguaje de programación
para generar páginas web
El ciclo web
1
solicitud
4 navegador servidor web 2
respuesta
3
presentación
proceso
respuesta web
HTML .html
servidor
web
HTML .php
para empezar
instalando PHP
instalar
configurar
PHP
PHP
instalar
módulo PHP
En la instalación manual
hay que bajar cada
configurar configurar componente, instalarlo
Apache PHP y configurarlo.
LAMP, WAMP, …
• Típicamente, PHP se
instala para trabajar
junto con Apache y
MySQL
• Cuando la instalación
L A M P aparece en Linux, se
la llama LAMP
• Cuando la instalación
aparece en Windows,
se la llama WAMP
M A M P
XAMPP
• Hay varios proyectos
que difunden paquetes
que contienen esas
instalaciones típicas.
• Usarlos puede facilitar
la instalación, y el día
a día con el entorno de
desarrollo.
lo básico
¡Hola Mundo!
hola_mundo.php
<?php
echo '¡Hola Mundo!';
?>
<?php
echo '¡Hola Mundo!';
?>
htdocs
…¡Hola Mundo!
htdocs
htdocs/index.php http://localhost/index.php
htdocs/hola_mundo.php http://localhost/hola_mundo.php
…¡Hola Mundo!
http://localhost/hola_mundo.php
servidor
web
navegador
¡Hola Mundo! <?php
echo '¡Hola Mundo!';
?>
HTML .php
…¡Hola Mundo!
hola_mundo.php
<html>
<body>
<h1>
<?php echo '¡Hola Mundo!';?>
</h1>
</body>
</html>
<html>
<body>
<h1>
¡Hola Mundo!
</h1>
</body>
</html>
Cuadrados
cuadrados.php
<html>
<body>
<h1>Cuadrados</h1>
<table border="1">
<?php for ($i=1; $i<=10; $i++) { ?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $i*$i;?></td>
</tr>
<?php } ?>
</table>
</body>
</html>
…Cuadrados
<html>
<body>
<h1>Cuadrados</h1>
<table border="1">
<tr>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>4</td>
</tr>
…
<tr>
<td>10</td>
<td>100</td>
</tr>
</table>
</body>
</html>
Conociendo PHP
formularios
Métodos de intercambio de información
Son variables internas que están disponibles siempre en todos los ámbitos:
$GLOBALS — Hace referencia a todas las variables disponibles en el ámbito
global
$_SERVER — Información del entorno del servidor y de ejecución
$_GET — Variables HTTP GET
$_POST — Variables POST de HTTP
$_FILES — Variables de subida de ficheros HTTP
$_REQUEST — Variables HTTP Request. Por defecto contiene el contenido
de $_GET, $_POST y $_COOKIE.
$_SESSION — Variables de sesión
$_ENV — Variables de entorno
$_COOKIE — Cookies HTTP
Hola Tú
hola_form.php
<html>
<body>
<form action="hola.php" method="get">
Nombre:
<input type="text" name="nombre"/>
<input type="submit" value="OK"/>
</form>
</body>
</html>
…Hola Tú
hola.php
<html>
<body>
<h1>
<?php echo '¡Hola '.$_GET['nombre'].'!';?>
</h1>
</body>
</html>
Hola Tú
hola_form.php
<html>
<body>
<form action="hola.php" method="post">
Nombre:
<input type="text" name="nombre"/>
<input type="submit" value="OK"/>
</form>
</body>
</html>
…Hola Tú
hola.php
<html>
<body>
<h1>
<?php echo '¡Hola '.$_POST['nombre'].'!';?>
</h1>
</body>
</html>
…Hola Tú
http://localhost/hola_form.php
<form>...</form> <form>...</form>
hola_form.php
navegador
action=hola.php
servidor
web
nombre=Angel
HTML hola.php
…Hola Tú
hola_tu.php versión de una página
<html>
<body>
<?php
$nombre = isset($_POST['nombre'])?$_POST['nombre']:'';
?>
<form action="hola_tu.php" method="post">
Nombre:
<input type="text" name="nombre"
value="<?php echo $nombre;?>"/>
<input type="submit" value="OK">
</form>
<?php if ($nombre) {
echo '<h1>¡Hola '.$nombre.'!</h1>';
}?>
</body>
</html>
…Hola Tú
http://localhost/hola_tu.php
<form>...</form>
<?php
$nombre = ...;
?>
navegador
action=hola_tu.php
servidor <form>...</form>
web <?php
nombre=Angel if ($nombre) {
echo '<h1>¡Hola '
.$nombre.'!</h1>';
}
¡Hola Angel! ?>
hola_tu.php
HTML
Conociendo PHP
un poco más
Bloques básicos
$x = 1+1; asignación
if ($x>0) { switch ($x) { decisión
... case 1:
} ... • if
break; • if/else
if ($x>0) { ...
... default • switch
} else { ...
... break;
} }
a[3] 'Hola'
foreach ($a as $item) { 2
echo $item.'<br/>'; 3
} 1
'Hola'
¡Hola Mundo!
Clases
class Hola() { $h = new Hola();
function saludo($y) { $h->hola('Mundo');
return '¡Hola '.$y.'!';
}
function hola($x) {
echo $this->saludo($x);
}
}
¡Hola Mundo!
include
cabecera.php
echo '<h1>Conociendo PHP</h1>';
_hola_mundo.php
echo 'Hola Mundo';
hola_mundo.php
<html>
<body>
<?php include 'cabecera.php';?>
<?php include '_hola_mundo.php';?>
</body>
</html>
require
funciones.php
function hola() {
return '¡Hola Mundo!';
}
_hola_mundo.php
echo hola();
hola_mundo.php
<html>
<body>
<?php require('funciones.php');?>
<?php include '_hola_mundo.php';?>
</body>
</html>
include & require
• include() y require() son similares, la diferencia es
que si no existe el archivo a incluir, include()
emitirá una alarma, mientras que require()
terminará el programa.
• Un mismo archivo se puede incluir más de una
vez.
• Para prevenir duplicaciones en las inclusiones
existen include_once() y require_once().
Frameworks
• Un framework es una forma de
organizar el trabajo.
• Luego de un tiempo desarrollando,
uno empieza a notar ciertos
patrones de organización. Aún sin
proponérselo, va surgiendo un
framework.
• Algunos frameworks muy difundidos
en la comunidad PHP son Laravel,
CakePHP, CodeIgniter, Zend,
Symphony…
• Un framework estandarizado obliga
a seguir ciertas convenciones de
organización, pero pone a nuestra
disposición código ampliamente
probado y optimizado.
Referencias
• PHP site
– http://php.net
• W3Schools – PHP
– http://www.w3schools.com/PHP/default.asp
• CakePHP
– http://cakephp.org
• CodeIgniter
– http://codeigniter.com
• Zend Framework
– http://framework.zend.com/
• Symphony
– http://www.symfony-project.org/
• Coquette Icons
– http://dryicons.com/free-icons/preview/coquette-icons-set/
Conociendo PHP
Introducción a uno de
los lenguajes de
programación web
más usados en
Internet
preguntas,
comentarios