jQuery
jQuery es una librería gratuita y open source, que simplifica la creación de páginas web altamente interactivas. Funciona en todos los exploradores modernos y abstrae características especificas de cada uno de estos, permitiéndonos enfocarnos en el diseño y resultado final, en lugar de tratar de desarrollar funciones complejas en exploradores individuales.
Específicamente que hace?
Específicamente jQuery facilita:
La búsqueda y manipulación de contenido en una página HTML
Trabajar con el modelo de eventos de los exploradores modernos
Y añadir efectos y transiciones sofisticadas que vemos en páginas modernas, como animaciones disparadas por eventos.
Entonces que uso?
JavaScript VS jQuery
jQuery
$("body").css('background','#ccc');
JavaScript
document.body.style.background = "#ccc";
En realidad?
Recordemos que la mayor diferencia entre jQuery y JavaScript es que jQuery ha sido optimizado para trabajar con una variedad de navegadores automáticamente.
Desafortunadamente, JavaScript todavía tiene algunos problemas con la compatibilidad entre navegadores debido a las pobres prácticas de implementación de JavaScript por parte de los desarrolladores de navegadores web.
Reto
Realizar algún ejercicio novedoso que queramos mostrarle a los compañeros.
Que es PHP (Hypertext Pre-Processor) ?
Es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Su nombre viene de ser llamada en la primera versión como Personal Home Page Tools
PHP es un lenguaje de alto nivel cuyo código podemos introducir en páginas web HTML.
PHP se ejecuta en el servidor (no podemos ejecutarlo en nuestro ordenador a no ser que lo hagamos funcionar como servidor con XAMMP, WAMP, etc).
PHP, una vez es interpretado por el servidor, genera una salida HTML que permite visualizar los resultados en los navegadores.
PHP
Origen
PHP (acronimo de PHP: Hypertext Preprocessor), es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor. El PHP inicio como una modificación a Perl escrita por Rasmus Lerdorf a finales de 1994. Su primer uso fue el de mantener un control sobre quien visitaba su curriculum en su web.
Creador
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
1.0 | 08-06-1995 | Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versión en usar el nombre "PHP". | |
2.0 | 01-11-1997 | Considerada por sus creadores la "herramienta más rápida y sencilla" para crear páginas web dinámicas. |
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
3.0 | 06-06-1998 | 20-10-2000 | Zeev Suraski y Andi Gutmans reescribieron la base para esta versión. |
4.0 | 22-05-2000 | 23-01-2001 | Se añadió un sistema de parsing de dos fases llamado motor Zend. |
4.1 | 10-12-2001 | 12-03-2002 | Se introducen 'superglobales' ($_GET , $_POST , $_SESSION , etc.)
|
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
4.2 | 22-04-2002 | 06-09-2002 | Se deshabilitan register_globals por defecto. Datos recibidos por la red no son insertados en el espacio de nombres global, cerrando posibles agujeros de seguridad en las aplicaciones.
|
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
5.1 | 24-11-2005 | 24-08-2006 | Mejoras de rendimiento con la introducción de variables de compilador para el nuevo motor de PHP. |
5.2 | 02-11-2006 | 06-01-2011 | Activida extensión de filtro por defecto. Soporte JSON nativo. |
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
5.3 | 30-06-2009 | 07-2014 | Soporte para espacios de nombres, enlace estático en tiempo de ejecución, etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para archivos PHP (phar), recolección de basura para referencias circulares, soporte mejorado para Windows, sqlite3, mysqlnd como reemplazo a libmysql como biblioteca para extensiones que funcionan con MySQL, fileinfo como reemplzado de mime_magic para mejor soporte MIME, extensión de Internacionalización, y etiqueta ereg obsoleta. |
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
5.4 | 01-03-2012 | No especificada | Soporte para Trait y sintaxis abreviada de array. Elementos removidos: register_globals , safe_mode , allow_call_time_pass_reference , session_register() , session_unregister() y session_is_registered() . Servidor web incorporado. Varias mejoras a características existentes y al rendimiento, y requerimientos de memoria menores. |
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
5.5 | 20-06-2013 | No especificada | Nuevos generadores para bucles, empty() soporta expresiones. Se pierde el soporte para Windows XP y Windows Server 2003.
|
Versión | Fecha de lanzamiento | Fin de soporte | Notas |
---|---|---|---|
6.0 | Sin fecha | No especificada | El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para tratar cadenas Unicode no es correcto, y están considerando formas alternas para la siguiente versión. Las mejoras planeadas para PHP 6 fueron añadidas en su lugar en PHP 5.3.0 (Soporte para espacios de nombre, enlace estático en tiempo de ejecución, funciones lambda, clausuras, goto) y 5.4.0 (traits, revinculación de clausura). |
Principales características
- PHP esta publicado bajo la Licencia PHP, la cual lo convierte en software libre.
- Los archivos PHP deben estar guardados con la extensión .php.
- Puede ser desplegado en la mayoría de los servidores web, incluyendo Apache y IIS.
- Tiene una extensa documentación y comunidades en donde se puede buscar ayuda.
- La última versión publicada es la 5.6.0.
- PHP es utilizado en millones de sitios, entre los más destacados se encuentran Wikipedia.org, Facebook.com y WordPress.com.
Principales características
- Permite ser incrustado en HTML, lo cual facilita el desarrollo de sitios web dinámicos.
- Permite aplicar técnicas de POO (Programación Orientada a Objetos).
-
Posee la capacidad para conectares a la mayoría de los motores de base de datos, manipular archivos, utilizar servidores de correos e interactuar con otros lenguajes.
- Bases de datos como: MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird, SQLite o MongoDB.
CÓDIGO Servidor + HTML
Como funciona PHP
- El cliente (un navegador web) hace una petición a un servidor web para ejecutar algún script de php, por ejemplo page.com/user.php.
- El servidor web recibe la petición y al verificar que la extensión es “php” hace una solicitud al intérprete de PHP para que este ejecute el script necesario.
- El intérprete de PHP realiza la ejecución de todas las instrucciones o sentencias que se encuentran en el archivo solicitado y pasa la respuesta al servidor web.
- El servidor web envía al cliente la respuesta que devolvió el script de php.
- El cliente muestra la respuesta en el formato que sea requerido (HTML, XML, PDF, JPEG, etc).
Sera una Web Dinámica?
Por página web dinámica entendemos aquella que puede mostrar información cambiante sin necesidad de que sea el programador quien haga estos cambios: con webs dinámicas podemos por ejemplo hacer que se muestren noticias enviadas por un usuario sin necesidad de intervención del programador.
- Páginas estáticas: Petición --> Respuesta
- Páginas dinámicas: Petición --> Procesado y preparación --> Respuesta
Objetivo de PHP
Trabajarlo como un lenguaje de script incrustado dentro del HTML.
Aprender la mayor parte de su sintaxis. Esto se nos prestara fácil, puesto que PHP ha sido basado en C, Java y Perl, como lo mencione anteriormente.
La meta es aprender que este lenguaje nos permite desarrollar rápidamente paginas web dinámicas.
Instalación
Empecemos por descargar e instalar mi AMPP (Apache, Mysql, PHP y Perl) favorito y el cual recomiendo XAMPP, este es multiplataforma y trae todo lo que necesitamos.
Para correr nuestro servidor, primero necesitamos probar que el puerto por el cual debería funcionar este habilitado, de lo contrario lo cambiamos.
Ahora si corramos nuestro pequeño servidor local, para hacer esto ingresamos http://localhost:80 en nuestro navegador. Si todo esta instalado debidamente entonces debemos ver los logos de XAMPP y alguna información de interes.
Una vez comprobado el funcionamiento del servidor tenemos que buscar la carpeta htdocs, en esta guardaremos todos los scripts PHP que queramos probar.
Todo lo que esté en esta carpeta es accesible desde el navegador web a través del servidor web.
Instalación
Ejemplo de como funciona PHP
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
//Primer echo en php, para mostrar en pantalla
echo "Bienvenidos a este maravilloso mundo";
?>
</body>
</html>
PHP está embebido (incluido o incrustado) en código HTML, pero, hay otras maneras mas bonitas de trabajarlo.
Por ahora, digamos que esta bien.
Y ahora, como funciona esto?
- Cada vez que vayamos a utilizar código PHP debemos encerrar el mismo entre las etiquetas <?php ?>, de esta manera el intérprete sabe donde hay instrucciones PHP.
- La línea que empieza con // es un comentario, este tipo de líneas son omitidas por PHP al momento de la ejecución. Sirven para tener el código organizado y documentado.
- Al igual que en otros lenguajes como C, Java o JavaScript, toda instrucción en PHP se debe terminar con un “;”. En este caso solo tenemos una instrucción echo "Bienvenidos a este maravilloso mundo";.
La primera función que vamos a ver en PHP es echo, esta sirve para imprimir texto en la pantalla.
El texto que se quiera imprimir se coloca a la derecha de la función, puede ser una variable o un texto constante entre comillas.
En este caso el texto que imprimimos "Bienvenidos a este maravilloso mundo".
Y ahora, como funciona esto?
Variables
Empecemos a crear los diferentes tipos de variables
Contextualización
Gran parte de conocer, manejar y desarrollar en cualquiera de los lenguajes de programación tiene que ver con el manejo y manipulación de datos.
En PHP existen datos que pueden ir desde simples números enteros, hasta objetos que heredan y utilizan la POO al máximo. Para hacer uso de estos datos y poder manipularlos utilizamos las variables y constantes.
Reglas para el manejo de las variables
- Todas las variables de PHP llevan como prefijo el signo ($)
- El primer carácter del nombre de la variable debe ser una letra o un carácter de subrayado (_).
- Los siguientes caracteres deben ser solo letras, números o caracteres de subrayado.
- El resto de caracteres no puede ser usados en los nombres de las variables.
Ejemplo de uso de variables
$_miVar // valido
$miVar // valido
$__miVar // valido
$miVar21 // valido
$_1miVar // invalido - carácter de subrayado debe estar seguido de una letra al principio
$1miVar // invalido - se debe empezar con letra o carácter de subrayado
$_miVa-r // invalido - contiene un guión -
Tener en cuenta que PHP diferencia entre mayúsculas y minúsculas
En ese orden de ideas:
$variable != $Variable
Asignación de variables
<?php
// creando variable nueva y asignando cadena de texto
$nombre= "Yhoan";
// creando variable nueva y asignando un entero
$edad= 21;
// resignado valor de $edad en $nombre, ahora las dos variables tienen el valor de 21
$nombre = $edad;
?>
Operador de asignación =
Termina siempre en ;
Accediendo a las variables
<?php
echo "Mi nombre es: ".$nombre;
echo "Mi edad es: $edad";
?>
Usamos la función echo
Concatenamos por medio del .
Imprimimos la variable dentro de la cadena que se pasa por el echo sin ningún problema
Tipos de Variables
Vamos a revisar los tipos de variables que mas utilizaremos, en este caso son los enteros (integer), los flotantes (float), las cadenas (string) y los booleanos.
Debemos tener en cuenta que PHP, a diferencia de otros lenguajes como Java o C#, no se les define un tipo de dato a las variables, esto quiere decir, que al igual que JavaScript es débilmente tipado. Como así? Claro, una variable en PHP no esta amarrada a un solo tipo de dato.
Podemos crear un booleano y posteriormente pasarlo a un String y luego a un float así sucesivamente.
Las variables de tipo entero son capaces de almacenar un número entero entre el rango de -2147483648 a 2147483647. Los valores negativos se asignan colocando un signo (-) delante del número.
Nota:
Si el número que se asigna a una variable supera los números del rango anterior entonces la variable pasa a ser de tipo punto flotante (float).
Integer
<?php
$int = 13;
$intN= -5;
?>
En este tipo de datos se guardan cadenas de caracteres como palabras u oraciones.
Para asignar un String encerramos el texto entre comillas simples (') o comillas dobles ("). Si el texto que se desea guardar contiene comillas dobles o simples, entonces se utilizan las comillas contrarias para encerrar el texto, pero, podemos utilizar los caracteres de escape.
También podemos reemplazar los valores de las cadenas por medio de una función llamada sprintf(cadena, valor_reemplazar) y el símbolo %s en la posición donde deseemos cambiarlo.
String
<?php
$string = "Una cadena de caracteres";
$string2 = 'Otra cadena de caracteres';
$string3 = "Esta cadena contiene 'comillas simples'";
$string4 = 'Y esta otra contiene "comillas dobles"';
$string5 = 'Esta cadena contiene \'comillas simples\'';
$string6 = "Y esta otra contiene \"comillas dobles\" y \'comillas simples\'";
$string7 = sprintf("Hola soy %s", string);
?>
Ejemplos
Este tipo de variable sirve solo para tomar los valores de verdadero (True) o falso (False). Estas variables se usan normalmente como estados o banderas para comprobar si una condición se cumplió o no.
Es bueno saber que PHP interpreta estos valores internamente como 1 y 0, aunque no sean lo mismo un booleano True que un entero 1.
Boolean
<?php
$php_hermoso = true;
$php_mejor_c_sharp = false;
?>
Las variables de tipo punto flotante contienen números que requieren decimales.
Ademas este tipo de variable puede contener números más grandes que una variable de tipo entera, como por ejemplo (423454567098, 84664435.9576).
Float
<?php
$coma_flotante = 9234.98;
$coma_flotante_mas_preciso = 9547894367.987483701
?>
Algo constante es algo que no cambia o no varía, esto es exactamente lo que se busca con las constantes en PHP. Las constantes son lo opuesto a las variables en PHP, ya que una vez que se le define su valor este no cambia.
Para la asignación de su valor no se utiliza el signo (=), si no que se hace uso de la función define('NOMBRE','VALOR'). El nombre de la constante no lleva un ($) como prefijo y normalmente por convención va todo en mayúsculas.
Constantes
<?php
define('URL', 'https://www.hanoit.com');
define('PI', 3.14);
define('HELLO', 'Hola a todos', TRUE)
?>
<?php
echo URL;
echo PI;
echo hello;
?>
Estructuras de control
// Nombramiento
$var; // débilmente tipado
// Estructuras if
if($var = 1){
}else if {
}
// Estructura alternativa
if ($a == 5):
elseif ($a == 6):
else:
endif;
// Switch
switch ($i) {
case 0:
...
break;
case 1:
...
break;
case 2:
...
break;
}
//Estructura alternativa
switch ($foo):
case 1:
...
endswitch;
//while
$i = 1;
while ($i <= 10) {
echo $i++; /* el valor presentado sería
$i antes del incremento
(post-incremento) */
}
//do while
$i = 1;
do{
echo $i++; /* el valor presentado sería
$i despues del incremento
(post-incremento) */
}while ($i <= 10)
//For
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
// For each
$array = array(1, 2, 3, 4);
foreach ($array as &$valor) {
$valor = $valor * 2;
}
// $array ahora es array(2, 4, 6, 8)
unset($valor);
// rompe la referencia con el último elemento
Arrays
//Vetores
$vector = array("Miguel","Pedro","Juan");
// Matrices
$Matrices = array(
array("Miguel","Pedro","Juan"),
array("Alberto","Mario","Sergio"));
//Asociativos
$vector = array("Nombre1"=>"Miguel","Nombre2"=>"Pedro","Nombre3"=>"Juan");
INVOCACIÓN!!
// Vector
//Posicion
echo $Vector[0]
//Nombre Campo
echo $Vector["Nombre1"]
// Matris
foreach($Matris as $valor){
//Posicion
echo $valor[0]
//Nombre Campo
echo $valor["Nombre1"]
}
Manejo de sessiones
session_start();
$_SESSION['test'] = 42;
echo $_SESSION['test'];
Try catch
try {
...
} catch (Exception $e) {
echo 'Excepción capturada: '.
$e->getMessage().
"\n";
}
Forms
form action="archivo.php"
Ajax Nativo
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
ajax jquery
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
peticiones post y get
// Recibir peticiones POST
$_POST["Nombre de la variable"]
// Recibir peticiones GET
$_GET["Nombre de la variable"]
clases
class Cart {
var $items; // Objetos en nuestro carrito de compras
// Agregar $num artículos de $artnr al carrito
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
}
}
MANIPULACIÓN
// 1° incluimos el archivo que contiene la Clase
include("FileName.php");
// 2° Creamos un objeto de la clase almacenada en el archivo
$var = new ClassName();
// Invocamos una de las funciones de la clase
$var->functionName();
// Invocamos una de los atributos de la clase
$var->attrName;
Controles de acceso
- Public
Permite que la variable o función sea visible desde cualquier otra clase - Private
Permite que la variable o función solo sea visible en la clase donde esta creada - Protected
permite que la variable o función sean vistas desde cualquier clase que la extienda incluyendo la misma clase
Clases Abstractas
abstract class interfaz
{
abstract protected function Guardar();
}
class Persona extends interfaz
{
protected function Guardar(){
...
}
}
CONEXIÓN DB
$host='localhost:3306';
$user='root';
$password='';
$base_datos='dbName';
$conection;
if($conection= mysql_pconnect($host,$user, $password)){
mysql_select_db($base_datos);
return true;
}else {
return false;
}
Ejecutar CÓDIGO
//Ejecuta cualquier sentencia sql
$result = mysql_query($query,$conection);
// Extrae el numero de filas afectadas
mysql_num_rows($result);
// Convierte el Resultado arrojado por la DB en un array para poder recorrerlo
mysql_fetch_array($result)
// Cuenta los filas que retorna una consulta
mysql_affected_rows($result);
// Cierra la Conexion
mysql_close($this->conection);
PHP INIT
By yhoan andres galeano urrea
PHP INIT
- 2,164