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

Rasmus Lerdorf
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
4.3 27-12-2002 31-03-2005 Se introduce CLI, y CGI.
4.4 11-07-2005 07-08-2008 Se añaden páginas man para phpize y php-config
5.0 13-07-2004 05-09-2005 Motor Zend II con un nuevo modelo de objetos.
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

  1. 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.
  2. 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.
  3. 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.
  4. El servidor web envía al cliente la respuesta que devolvió el script de php.
  5. 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"]
}















Funciones de cadenas



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