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 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.
jQuery
$("body").css('background','#ccc');
JavaScript
document.body.style.background = "#ccc";
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.
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 (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.
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). |
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.
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.
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.
<!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.
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".
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.
$_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
<?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 ;
<?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
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.
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).
<?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.
<?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);
?>
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.
<?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).
<?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.
<?php
define('URL', 'https://www.hanoit.com');
define('PI', 3.14);
define('HELLO', 'Hola a todos', TRUE)
?>
<?php
echo URL;
echo PI;
echo hello;
?>
// 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
//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");
// Vector
//Posicion
echo $Vector[0]
//Nombre Campo
echo $Vector["Nombre1"]
// Matris
foreach($Matris as $valor){
//Posicion
echo $valor[0]
//Nombre Campo
echo $valor["Nombre1"]
}
session_start();
$_SESSION['test'] = 42;
echo $_SESSION['test'];
try {
...
} catch (Exception $e) {
echo 'Excepción capturada: '.
$e->getMessage().
"\n";
}
form action="archivo.php"
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({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
// Recibir peticiones POST
$_POST["Nombre de la variable"]
// Recibir peticiones GET
$_GET["Nombre de la variable"]
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;
}
}
// 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;
abstract class interfaz
{
abstract protected function Guardar();
}
class Persona extends interfaz
{
protected function Guardar(){
...
}
}
$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;
}
//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);