Curso PHP 7
Curso PHP 7
Curso PHP 7
INDICE DE CONTENIDOS
1) Iniciación a PHP 7
2) Operadores en PHP 7
3) Instrucciones en PHP 7
4) Funciones en PHP 7
7) Sesiones en PHP 7
8) Cookies en PHP 7
El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la
página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de
comandos que puede ser usada en n aplicaciones gráficas independientes. Puede ser usado en la mayoría
de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo.
Sin embargo, todavía existían puntos negros en el desarrollo PHP que se han tratado de
solucionar con la versión 5, aspectos que se echaron en falta en la versión 4, casi desde el día de
su lanzamiento. Nos referimos principalmente a lala programación orientada a objetos (POO) que, a
pesar de que estaba soportada a partir de PHP 3, sólo implementaba una parte muy pequeña de
las características de este tipo de programación.
Nota: La orientación a objetos es una manera de programar que trata de modelar los pro-
pr
cesos de programación de una manera cercana a la realidad: tratando a cada componente de un
programa como un objeto con sus características y funcionalidades.
• HTML
• JavaScript
• CSS
• Imagenes
• Cualquier texto sin formato
Para la realización del tuturial recomedamos instalar un servidor en nuestra misma máquina, a mo-
m
do de pruebas. También puedes hacerlo en tu hosting (si ya lo tienes, aunque para esta altura aún no vale
la pena contratarlo). Para nuestro Tutorial PHP 7 usaremos XAMPP.
¿Qué es XAMPP?
XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene
el servidor web HTTP Apache, Base de Datos MySQL, PHP y Perl.. El paquete de instalación
de XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar, es muy potente, tanto para
poder desarrollar, probar, hasta para montar un servidor de producción, solo que ésto último no lo reco-
rec
miendo (en lo personal).
A continuación instalaremos XAAMP versión 5.6.8 para Windows 7 32 bits.
bits
La liga para su descarga está aquí:
https://www.apachefriends.org/xampp
.org/xampp-files/5.6.8/xampp-win32-5.6.8-0-VC11
VC11-installer.exe
Nos preguntara por la ruta de instalación que queremos darle, dejaremos la default que viene (así como
está en pantalla), clickeamos "Next >" y continuamos.
Listo. Ya tenemos nuestro paquete de servidores locales instalados. Ahora, se abrirá el Panel de Control.
En el Panel de Control,, tenemos la opción de iniciar, reiniciar o parar el servidor que deseemos,
así como los accesos directos a los archivos de configuración (éstos por el momento no los tocaremos).
Lenguajes de script - Tutorial de PHP 7 11
Nuestra carpeta raíz donde se alojarán todos los archivos PHP está en "C:\xampp
xampp\htdocs\" y yo creé
una nueva carpeta llamada "mis_apps",
"mis_apps" creenla.
Lenguajes de script - Tutorial de PHP 7 12
Abriremos nuestro
stro navegador, e iremos a la dirección http://localhost/mis_apps/.
http://localhost/mis_apps/ Aquí iremos po-
niendo nuestros archivos PHP generados en este Tutorial de PHP 7.
Para acceder a las Bases de Datos MySQL lo puedes hacer
hace desde http://localhost/phpmyadmin/.
http://localhost/phpmyadmin/
<?php
?>
Siempre
mpre que vayamos a escribir código PHP 7 debemos comenzar con "<?php"" y terminar con
"?>", echo es una función PHP propia para imprimir en pantalla lo que siga entre " ". Si todo resultó bien,
¡felicidades!. Creaste tu primer código PHP 7 dinámico.
dinámico
La ventaja que tiene PHP 7 sobre otros lenguajes de programación que se ejecutan en el servi- serv
dor (como podrían ser los script CGI Perl),
Perl), es que nos permite intercalar las sentencias PHP 7 en las pagi-
nas HTML, es un concepto algo complicado de entender si no se ha ha visto nunca como funciona unas
paginas PHP, ASP, .NET, etc.
Vamos a ver el siguiente ejemplo para comprenderlo mejor. En otro archivo, llama-
llam
do hola_bucle.php escribiremos lo siguiente:
<html>
<head>
<title>Nuestro primer ejemplo en PHP 7</title>
7</tit
</head>
<body>
<?php
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 14
El código PHP ejecutado tiene dos partes: la primera imprime "¡Hola mundo!" y la segunda es un
bucle que se ejecuta 10 veces de 0 a 9, por cada vez que se ejecuta se escribe una línea, la varivaria-
ble $i contiene el número de línea que se está escribiendo.
No importa si no entiende muy bien el programa este ejemplo solo es para ilustrar como se interca-
la el código HTML y el código PHP.
Lenguajes de script - Tutorial de PHP 7 15
<html>
<head>
<title>Ejemplo de comentarios en PHP 7</title>
</head>
<body>
<?php
// ¡Este es el primer tipo de comentario!. Podemos agregar tanto texto como queramos sin cam-
biar de renglón.
?>
</body>
</html>
<html>
<head>
<title>Ejemplo de comentarios en PHP 7</title>
</head>
<body>
<?php
# ¡Este es el segundo tipo de comentario!. Podemos agregar tanto texto como querramos sin cam-
biar de renglón.
?>
</body>
</html>
3.- Con barra y asterisco para apertura y asterisco y barra para cierre /* */
<html>
<head>
Lenguajes de script - Tutorial de PHP 7 16
<body>
<?php
/*
¡Este es el segundo tipo de comentario!.
Podemos agregar tanto texto como queramos cambiando de renglón.
Sin importar que escribamos
Bajando de renglones
Hasta su cierre
*/
?>
</body>
</html>
Usar comentarios dentro de código PHP 7 nos es muy útil ya que podemos dejar descripciones o lo que
deseemos.
Lenguajes de script - Tutorial de PHP 7 17
En PHP todas las variables comienzan con el símbolo del dólar $ y no es necesario
necesari definir una va-
riable antes de usarla.
Tampoco tienen tipos, es decir que una misma variable puede contener un número y luego puede
contener carácteres.
OJO: Son sensibles a minúsculas y mayúsculas y tampoco se deben de iniciar con un número
(más abajo especificamos ejemplos inválidos).
Veamos un ejemplo, dentro de nuestra carpeta "mis_apps\capitulo_1" crearemos un archivo llama-
llam
do variables.php con el siguiente código:
<html>
<head>
<title>Ejemplo de tipos de variables en PHP 7</title>
</head>
<body>
<?php
$a = 1;
$b = "3.34";
echo $a."<br>".$b."<br>".$c;
?>
</body>
</html>
<html>
Lenguajes de script - Tutorial de PHP 7 18
<head>
<title>Ejemplo de tipos de variables en PHP 7</title>
</head>
<body>
<?php
$a = 1;
$b = "3.34";
function ejemploVariables()
{
echo $a."<br>".$b."<br>".$c;
// Ejecutamos la función
ejemploVariables();
?>
</body>
</html>
También, podemos almacenar información en variables mediante matrices (las matrices las vere-
ver
mos más adelante), veamos un ejemplo, crearemos un archivo llamado variables_array.php
es_array.php:
<html>
<head>
<title>Ejemplo de tipos de variables en PHP 7</title>
</head>
<body>
<?php
$nuestraVariable = array();
// Asignemos valores
Lenguajes de script - Tutorial de PHP 7 19
// Recorramos la matriz
print_r($nuestraVariable);
</body>
</html>
Con el ejemplo anterior, vemos que también podemos asignarle valores a una variable matriz.
Variable Valor
$_SERVER
La varibale $_SERVER nos devolverá en forma de array (matriz) información de servidor, rutas,
conexiones, información del cliente y distintos headers recibidos. Veamos un ejemplo, dentro de nuestra
carpeta "mis_apps\capitulo_1" crearemos un archivo llamado variables_server.php con el siguiente
código:
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
<pre>
<?php
print_r($_SERVER);
?>
</pre >
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 21
Lenguajes de script - Tutorial de PHP 7 22
$_GET
La variable $_GET nos devolverá en forma de array (matriz) información de variables enviadas a
través del parámetro HTTP GET, es decir, en la dirección de solicitud, variables y asiganciones con &
= (archivo.php?variable-1=valor1&varibale
1=valor1&varibale-2=valor2&varibale-3=valor3).
Veamos
mos un ejemplo, dentro de nuestra carpeta "mis_apps\capitulo_1" crearemos un archivo lla-
mado variables_get.php con el siguiente código y lo ejecutaremos con los siguientes parametros:
http://localhost/mis_apps/capitulo_1/variables_get.php?variable-1=valor1&varibale
http://localhost/mis_apps/capitulo_1/variables_get.php?variable 1&varibale-2=valor2&varibale-
3=valor3
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
<pre>
<?php
print_r($_GET);
?>
</pre >
</body>
</html>
$_POST
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
<form method="post">
Lenguajes de script - Tutorial de PHP 7 23
</form>
<pre>
<?php
if($_POST)
{
print_r($_POST);
}
?>
</pre >
</body>
</html>
$_COOKIE
La variable $_COOKIE nos devolverá en forma de array (matriz) información de cookies guardadas
en nuestro cliente. Veamos un ejemplo, dentro de nuestra carpeta "mis_apps\capitulo_1"
capitulo_1" crearemos un
archivo llamado variables_cookie.php con el siguiente código:
<?php
setcookie("Valor_1", "1");
setcookie("Valor_2", "2");
setcookie("Valor_3", "3");
Lenguajes de script - Tutorial de PHP 7 24
?>
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
<pre>
<?php
print_r($_COOKIE);
?>
</pre >
</body>
</html>
$_FILES
La variable $_FILES nos devolverá en forma de array (matriz) información de archivos que hayan
llegado al servidor a través del protocolo HTTP
HTTP POST. Veamos un ejemplo, dentro de nuestra carpe-
carp
ta "mis_apps\capitulo_1" crearemos un archivo llamado variables_file.php con el siguiente código:
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
</form>
Lenguajes de script - Tutorial de PHP 7 25
<pre>
<?php
if($_FILES)
{
print_r($_FILES);
}
?>
</pre >
</body>
</html>
$_REQUEST
La variable $_REQUEST nos devolverá en forma de array (matriz) información en array asociativo
con el contenido de las varibles $_GET, $_POST y $_COOKIE. Veamos un ejemplo, dentro de nuestra
carpeta "mis_apps\capitulo_1" crearemos un archivo llamado variables_request.php con el siguiente
código:
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
<pre>
<?php
print_r($_REQUEST);
?>
</pre >
</body>
Lenguajes de script - Tutorial de PHP 7 26
</html>
$_SESSION
La variable $_SESSION nos devolverá en forma de array (matriz) información de variables estable-
cidas en sesión, estando accesibles en cualquier parte de nuestra aplicación sin necesidad de requerir las
definiciones. Veamos un ejemplo, dentro de nuestra carpeta "mis_apps\capitulo_1" crearemos un archi-
vo llamado variables_session.php con el siguiente código:
<?php
session_start();
<html>
<head>
<title>Ejemplo de variable reservada en PHP 7</title>
</head>
<body>
<pre>
<?php
print_r($_SESSION);
?>
</pre >
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 27
<html>
<head>
<title>Ejemplo de concatenación en PHP 7</title>
</head>
<body>
<?php
$ciudad = "Bogotá";
$pais = "Colombia";
$edad = "30";
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 28
Estos son los operadores que se pueden aplicar a las variables y constantes numéricas.
<html>
<head>
<title>Ejemplo de operadores aritméticos en PHP 7</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
echo $a + $b."<br>";
echo $a - $b."<br>";
echo $a * $b."<br>";
echo $a / $b."<br>";
echo $a % $b,"<br>";
$a++;
echo $a."<br>";
$b--;
echo $b."<br>";
?>
</body>
Lenguajes de script - Tutorial de PHP 7 30
</html>
Lenguajes de script - Tutorial de PHP 7 31
<html>
<head>
<title>Ejemplo de operadores de comparación en PHP 7</title>
</head>
<body>
$a = 8;
$b = 3;
$c = 5;
if($a == $b)
{
echo "$a es igual a $b <br>";
}
else
{
echo "$a no es igual a $b <br>";
}
if($a != $b)
{
echo "$a no es igual a $b <br>";
}
else
{
echo "$a es igual a $b <br>";
}
{
echo "$a no menor a $b <br>";
<br>"
}
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 33
<html>
<head>
<title>Ejemplo de operadores de lógicos en PHP 7</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
$c = 9;
if($a==8 || $c==5)
{
echo "$a puede ser igual a 8 y $c puede ser igual a 5 <br>";
Lenguajes de script - Tutorial de PHP 7 34
}
else
{
echo "Alguna condición no cumplió la validación <br>";
<br>"
}
if($a==8 or $c==5)
{
echo "$a puede ser igual a 8 y $c puede ser igual a 5 <br>";
}
else
{
echo "Alguna condición no cumplió la validación
validac <br>";
}
if($a!= 4)
{
echo "$a no es igual a 4<br>";
;
}
else
{
echo "Alguna condición no cumplió la validación <br>";
<br>"
}
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 35
• if
• if / else
• if / elseif / else
• switch
if
La condicional if se emplea para evaluar una comparación siempre que sea verdadera, veamos
este pseudocódigo:
<?php
if (condición)
{
Sentencias a ejecutar cuando la condición es cierta.
}
?>
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_3 y en
ella, creemos un archivo llamado ejemplo_condicional_if.php con el siguiente código:
<html>
<head>
<title>Ejemplo de condicionales en PHP 7</title>
</head>
<body>
<h2>Ejemplo de condicionales</h2>
<?php
$a = 15;
// Equivale a Si $a es igual a 15
if ($a == 15)
{
echo "$a vale 15";
}
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 37
if / else
La condicional if / else se emplea para evaluar una comparación siempre que sea verdadera y si-
s
no, se ejecutará lo que exista en el else. Veamos este pseudocódigo:
<?php
if (condición)
{
Sentencias a ejecutar cuando la condición es cierta.
cierta
}
else
{
Sentecias a ejecutar cuando la condición es falsa.
falsa
}
?>
<html>
<head>
<title>Ejemplo de condicionales en PHP 7</title>
</head>
<body>
<h2>Ejemplo de condicionales</h2>
<?php
$a = 15;
// Equivale a Si $a
a es igual a 13 sino imprimimos $a no vale 13
if ($a == 13)
{
echo "$a vale 13";
}
else
{
echo "$a no vale 13";
}
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 38
if / elseif / else
La condicional if / elseif / else se emplea para evaluar varias comparaciones siempre que sea ver-
ve
dadera y sino, se ejecutará lo que exista en el else. Veamos este pseudocódigo:
<?php
if (condición)
{
Sentencias a ejecutar cuando la condición es cierta.
cierta
}
elseif (condición)
{
Sentencias a ejecutar cuando la condición es cierta.
cierta
}
elseif (condición)
{
Sentencias a ejecutar cuando la condición es cierta.
cierta
}
elseif (condición)
{
Sentencias a ejecutar cuando la condición es cierta.
cierta
}
else
{
Sentecias a ejecutar cuando la condición es falsa.
falsa
}
?>
<html>
<head>
<title>Ejemplo de condicionales en PHP 7</title>
</head>
<body>
<h2>Ejemplo de condicionales</h2>
<?php
$a = 15;
if ($a == 13)
{
echo "$a vale 13";
}
elseif ($a == 14)
{
echo "$a vale 14";
}
elseif ($a == 15)
{
echo "$a vale 15";
}
else
{
echo "$a no vale 13, 14 o 15";
15"
}
?>
</body>
</html>
switch
La condicional switch se emplea para evaluar varias comparaciones siempre que sea verdadera y
sino, se ejecutará lo que exista en el else. Veamos este pseudocódigo:
<?php
switch (valor)
{
case valor:
Acción a realizar si se encontró el
e valor.
break;
case valor:
Acción a realizar si se encontró el valor.
valor
break;
case valor:
Acción a realizar si se encontró el valor.
valor
break;
case valor:
Acción a realizar si se encontró el valor.
valor
break;
case valor:
Acción a realizar si se encontró el valor.
valor
break;
Lenguajes de script - Tutorial de PHP 7 40
default:
Acción a realizar sino se encontró el valor.
?>
<html>
<head>
<title>Ejemplo de condicionales en PHP 7</title>
</head>
<body>
<h2>Ejemplo de condicionales</h2>
<?php
$a = 5;
switch ($a)
{
case 0:
echo "$a es igual a 0";
break;
case 1:
echo "$a es igual a 1";
break;
case 2:
echo "$a es igual a 2";
break;
case 3:
echo "$a es igual a 3";
break;
case 4:
echo "$a es igual a 4";
break;
case 5:
echo "$a es igual a 5";
break;
default:
echo "$a no es igual a 0, 1, 3, 4 ni 5";
}
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 41
Lenguajes de script - Tutorial de PHP 7 42
• While
• Do… While
• For
• Foreach
While
Su funcionamiento es sencillo, ya que primero se evalúa que la condición sea verdadera y luego se
ejecuta, hasta que la condición pase a ser falsa; una sentencia while (Español:
(Español: Mientras) puede que no se
ejecute ni siquiera una vez, si su condición es inicialmente falsa. Veamos un ejemplo, dentro de nuestra
carpeta "mis_apps\capitulo_3" crearemos un archivo llamado bucle_while.php con el siguiente código:
<html>
<head>
<title>Ejemplo de bucle en PHP 7</title>
</head>
<body>
<?php
$i = 1;
while($i <= 5)
{
echo $i."<br>";
$i += 1;
</body>
</html>
Do… While
Su uso es similar a while, pero aquí, las sentencias que siguen al do (Español: Hacer) se ejecutan
por lo menos una vez y se comprueba la condición luego de la primera iteración; así, si es verdadera la
condición se repite por segunda
da vez, si es falsa se continúa con las sentencias inmediatamente después
de la instrucción while. Tiene sólo una sintáxis. Veamos un ejemplo, dentro de nuestra carpe- carp
ta "mis_apps\capitulo_3" crearemos un archivo llamado bucle_do_while.php con el siguiente código:
Lenguajes de script - Tutorial de PHP 7 43
<html>
<head>
<title>Ejemplo de bucle en PHP 7</title>
</head>
<body>
<?php
$i = 5;
$n = 1;
do
{
$n = $n * $i;
$i -= 1;
}
</body>
</html>
For
Los bucles for (Español: Para) son los más complejos en PHP (y en otros lenguajes de programa-
program
ción). Veamos un ejemplo, dentro de nuestra carpeta "mis_apps\capitulo_3" crearemos un archivo lla-
mado bucle_for.php con el siguiente
nte código:
<html>
<head>
<title>Ejemplo de bucle en PHP 7</title>
</head>
<body>
<?php
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 44
Foreach
<html>
<head>
<title>Ejemplo de bucle en PHP 7</title>
</head>
<body>
<?php
$a = array(1, 2, 3, 17);
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 45
<?php
printf(cadena formato, variable1,
variable1 variable2, etc, etc);
?>
La cadena de formateo indica cómo se han de representar las valores que posteriormente le indica-
indic
remos. La principal ventaja es que además de poder formatear los valores de salida, nos permite intercalar
texto entre ellos. Veamos
os un ejemplo, dentro de nuestra carpeta "mis_apps\capitulo_3"
capitulo_3" crearemos un
archivo llamado salida_printf.php con el siguiente código:
<html>
<head>
<title>Ejemplo de printf en PHP 7</title>
</head>
<body>
<?php
printf("El
"El numero dos con diferentes formatos: %d %f %.2f",2,2,
,2);
?>
</body>
</html>
La cadena de formato puede incluir una seria de carácteres especiales que indican como formatear
las variables que se incluyen en la instrucción. Veamos la siguiente
sigu tabla:
<html>
<head>
<title>Ejemplo de printf en PHP 7</title>
</head>
<body>
Lenguajes de script - Tutorial de PHP 7 46
<?php
$var = "texto";
$num = 3;
printf("Puede
"Puede fácimente intercalar <b>%s</b>
<b> con números <b>%d</b>
</b> <br>",$var,$num);
<br>"
printf("<table
"<table border=1 cellpadding=10>");
cellpadding=10>"
printf("</table>");
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 47
<html>
<head>
<title>Ejemplo de cadenas en PHP 7</title>
</head>
<body>
<?php
// Strlen()
echo "<strong>Ejemplo de Strlen()</strong> <br>".strlen("12345")."<br>";
echo "<hr>";
// Explode()
$pieza = "una-dos-tres-cuatro-cinco";
$piezas = explode("-", $pieza);
foreach($piezas as $individuales)
{
echo $individuales."<br>";
}
echo "<hr>";
// Sprintf()
$num = 5;
$objeto = 'árbol';
$formato = 'Hay %d monos en el %s';
// Substr()
$cadenaSubstr = "Hola mundo. Esta es una cadena a evaluar.";
echo "<strong>Ejemplo de Substr()</strong> <br>";
$cadenaSubstr = substr($cadenaSubstr, 4, 10);
echo $cadenaSubstr."<br>";
echo "<hr>";
// Chop()
echo "<strong>Ejemplo de Chop()</strong> <br>";
$cadenaChop = "Hola mundo ";
echo "<pre>";
echo chop($cadenaChop);
echo "</pre >";
echo "<hr>";
// Strpos()
echo "<strong>Ejemplo de Strpos()</strong> <br>";
$cadenaStrpos = 'Hola mundo. Esta es una cadena a evaluar.';
$encontrar = 'mundo';
$pos = strpos($cadenaStrpos, $encontrar);
// Str_replace()
echo "<strong>Ejemplo de Str_replace()</strong> <br>";
echo $cadenSTRreplace."<br>";
echo "<hr>";
// Ucfirst()
echo "<strong>Ejemplo de Ucfirst()</strong> <br>";
echo $cadenaUCfirst."<br>";
echo "<hr>";
// Ucwords()
echo "<strong>Ejemplo de Ucwords()</strong> <br>";
echo $cadenaUcwords."<br>";
echo "<hr>";
Lenguajes de script - Tutorial de PHP 7 49
// Strtolower()
echo "<strong>Ejemplo de Strtolower()</strong> <br>";
echo $cadenaStrtolower."<br>";
echo "<hr>";
// Strtoupper()
echo "<strong>Ejemplo de Strtoupper()</strong> <br>";
echo $cadenaStrtoupper."<br>";
echo "<hr>";
// Trim()
echo "<strong>Ejemplo de Trim()</strong> <br>";
$cadenaTrim = " Hola mundo ";
echo "<pre>";
echo trim($cadenaTrim);
echo "</pre >";
echo "<hr>";
// Md5()
echo "<strong>Ejemplo de md5()</strong> <br>";
$cadenaMD5 = "Cadena cualquiera";
$cadenaMD5 = md5($cadenaMD5);
echo $cadenaMD5."<br>";
echo "<hr>";
// Nl2br()
echo "<strong>Ejemplo de Nl2br()</strong> <br>";
$cadenaNl2br = "Hola\nmundo\nHTML";
echo "<pre>";
$cadenaNl2br = nl2br($cadenaNl2br);
echo $cadenaNl2br;
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 50
Lenguajes de script - Tutorial de PHP 7 51
En PHP existen dos tipos de funciones, las que PHP trae por defecto ara que el programador las utilice
utili y
las que el programador crea desde cero dependiendo de sus necesidades. Aquí abordaremos
abord la segunda
opción.
Las funciones en PHP se crean usando la palabra clave function seguida por el nombre y por ultimo
un para de paréntesis (). El código que ejecutara la función es encerrado entre
entre corchetes.
corch
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_4 y en ella,
creemos un archivo llamado primer_ejemplo_funcion.php con el siguiente código:
<html>
<head>
<title>Ejemplo de funciones en PHP 7</title>
7</tit
</head>
<body>
<?php
function saludame()
{
echo "Hola programador, ¿cómo estás?.";
}
// Invocamos la función
saludame();
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 53
<html>
<head>
<title>Ejemplo de funciones en PHP 7</title>
</head>
<body>
<?php
function validarEdad()
{
$edad = 23;
if($edad == 23)
{
return true;
}
else
{
return false;
}
if(validarEdad())
{
echo "La edad es 23";
}
?>
</body>
</html>
<html>
<head>
<title>Ejemplo de funciones en PHP 7</title>
</head>
<body>
<?php
function sumarDatos($dato1,$dato2
$dato2,$dato3,$item)
{
$totalDeDatos = $dato1+$dato2+
+$dato3;
sumarDatos(10,20,1,'Dulces de caramelo');
caramelo'
?>
</body>
</html>
<html>
<head>
<title>Ejemplo de funciones en PHP 7</title>
</head>
<body>
<?php
function sumarDatos($dato1,$dato2
$dato2,$dato3,$item)
{
$totalDeDatos = $dato1+$dato2+
+$dato3;
Lenguajes de script - Tutorial de PHP 7 55
sumarDatos(10,20,1,'Dulces de caramelo');
caramelo'
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 56
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_5 y en
ella, creemos un archivo llamado ejemplo_get.php con el siguiente código:
<html>
<head>
<title>Ejemplo de métodos HTTP en PHP 7</title>
</head>
<body>
<?php
if($_GET)
{
echo "El formulario se ejecutó con éxito.<br><br>";
echo "<pre>";
print_r($_GET);
echo "</pre >";
}
?>
<p>
Dime cuál es tu nombre: <input type="text" name="nombre">
</p>
<p>
Dime cómo se llama tu ciudad: <input type="text" name="ciudad">
</p>
<p>
¿En qué año naciste?:
<select name="anoNacimiento">
<option value="null">Selecciona un año</option>
<?php
$anos = 1900;
while ($anos < 2000)
{
?>
<option value="<?=$anos;?>"><?=$anos;?></option>
<?php
$anos++;
Lenguajes de script - Tutorial de PHP 7 58
}
?>
</select>
</p>
<p>
<input type="submit" value="Validar">
</p>
</form>
</body>
</html>
Ahora es el turno de POST.. Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que
se llame "capitulo_5 y en ella,, creemos un archivo llamado
llam ejemplo_post.php con el siguiente código:
<html>
<head>
<title>Ejemplo de métodos HTTP en PHP 7</title>
</head>
<body>
<?php
if($_POST)
{
echo "El formulario se ejecutó con éxito.<br><br>";
echo "<pre>";
print_r($_POST);
echo "</pre >";
}
?>
<p>
Dime cuál es tu nombre: <input type="text" name="nombre">
</p>
<p>
Lenguajes de script - Tutorial de PHP 7 59
<p>
¿En qué año naciste?:
<select name="anoNacimiento">
<option value="null">Selecciona un año</option>
<?php
$anos = 1900;
while ($anos < 2000)
{
?>
<option value="<?=$anos
$anos;?>"><?=$anos;?></option>
<?php
$anos++;
}
?>
</select>
</p>
<p>
<input type="submit" value="Validar">
</p>
</form>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 60
<html>
<head>
<title>Ejemplo de email en PHP 7</title>
</head>
<body>
<?php
if($_POST)
{
// Correo al que queremos que llegue
$destinatario = "TU_CORREO_AQUI@gmail.com";
// Asunto
$asunto = "Email de prueba del Tutorial PHP 7";
// Mensaje
$mensaje = "Hola, este email es una prueba del Tutorial PHP 7. Los datos anexos al email
son: <br><br>
Nombre: ".$_POST['nombre']."<br>
Ciudad: ".$_POST['ciudad']."<br>
Año de nacimiento: ".$_POST['anoNacimiento']."<br><br>
Saludos!";
// Cabeceras
// Para enviar un correo HTML, debe establecerse la cabecera Content-type
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Cabeceras adicionales
$cabeceras .= 'To: TU NOMBRE <TU_CORREO_AQUI@gmail.com>' . "\r\n";
$cabeceras .= 'From: Tutorial PHP 7 <tutorial@tutorialphp.net>' . "\r\n";
// Enviamos el email
?>
<p>
Dime cómo se llama tu ciudad: <input type="text"
type="text" name="ciudad">
</p>
<p>
¿En qué año naciste?:
<select name="anoNacimiento">
<option value="null">Selecciona un año</option>
<?php
$anos = 1900;
while ($anos < 2000)
{
?>
<option value="<?=$anos
$anos;?>"><?=$anos;?></option>
<?php
$anos++;
}
?>
</select>
</p>
<p>
<input type="submit" value="Validar">
</p>
</form>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 62
mysql -u NUESTRO_USUARIO -p
Con este comando conseguimos crear la una base de datos en el servidor de bases de datos de
nuestro servidor.
Una vez conseguido esto debemos crear las tablas en la base de datos, la descripción de las tablas
t
contienen
tienen la estructura de la información que almacenaremos en ellas,para lo cual usaremos en lenguaje
de consultas SQL común para todas las bases de datos relacionales.
rimeramente debemos indicarle al servidor MySQL con cual base de datos trabajemos:
USE NOMBREDELABASEDEDATOS;
Por último, para ver los campos de la tabla “personas”, ejecutamos el siguiente comando, nos tiene
que devolver la descripción de la próxima imagen:
DESCRIBE personas;
Muy bien, hemos aprendido a crear una base datos y una tabla en MySQL.
Lenguajes de script - Tutorial de PHP 7 65
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_6 y en
ella, creemos un archivo llamado ejemplo_conexion_bd.php con el siguiente código:
<html>
<head>
<title>Ejemplo de conexión a base de datos MySQL</title>
</head>
<body>
<?php
function Conectarse()
{
global $host, $puerto, $usuario, $contrasena, $baseDeDatos, $tabla;
$link = Conectarse();
mysql_close($link);
?>
</body>
</html>
<html>
<head>
<title>Ejemplo de selección de datos en base de datos MySQL</title>
</head>
<body>
<?php
function Conectarse()
{
global $host, $puerto, $usuario, $contrasena, $baseDeDatos, $tabla;
$link = Conectarse();
Lenguajes de script - Tutorial de PHP 7 68
$result = mysqli_query($link,
, $query);
?>
<table>
<tr>
<td>Nombre</td>
<td>Apellidos</td>
<tr>
<?php
while($row = mysqli_fetch_array($result))
mysqli_fetch_array
{
printf("<tr><td>%s</td><td>
</td><td>%s</td></tr>", $row["Nombre"],$row["Apellidos"
"Apellidos"]);
mysqli_free_result($result);
mysqli_close($link);
?>
</table>
</body>
</html>
Con la instrucción mysqli_query() hemos hecho una consulta a la base de datos en el lenguaje de
consultas propio SQL, con la instruccción mysqli_fetch_array() extraemos los datos de la consulta a un
array y con mysqli_free_result() liberamos la memoria usada en la consulta.
Lenguajes de script - Tutorial de PHP 7 69
<html>
<head>
<title>Ejemplo de ingreso de datos en base de datos MySQL</title>
</head>
<body>
<?php
function Conectarse()
{
global $host, $puerto, $usuario, $contrasena, $baseDeDatos, $tabla;
$link = Conectarse();
Lenguajes de script - Tutorial de PHP 7 70
if($_POST)
{
$queryInsert = "INSERT INTO $tabla (Nombre, Apellidos) VALUES
('".$_POST['nombreForm']."', '".$_POST['apellidoForm']."');";
if($resultInsert)
{
echo "<strong>Se ingresaron los registros con exito</strong>. <br>";
}
else
{
echo "No se ingresaron los registros. <br>";
}
?>
<table>
<tr>
<td>Nombre</td>
<td>Apellidos</td>
<tr>
<?php
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>";
echo $row["Nombre"];
echo "</td>";
echo "<td>";
echo $row["Apellidos"];
echo "</td>";
echo "</tr>";
mysqli_free_result($result);
mysqli_close($link);
?>
</table>
<hr>
<form action="" method="post">
Nombre: <input type="text" name="nombreForm"> <br> <br>
Apellidos: <input type="text" name="apellidoForm"> <br> <br>
<input type="submit" value="Guardar">
</form>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 71
En nuestro script, si se ejecuta el método post ($_POST) se inicia el nuevo query e insertamos el
registro con la instrucción INSERT del lenguaje de base de datos SQL.
Lenguajes de script - Tutorial de PHP 7 72
<html>
<head>
<title>Ejemplo de actualización de datos en base de datos MySQL</title>
</head>
<body>
<?php
function Conectarse()
{
global $host, $puerto, $usuario, $contrasena, $baseDeDatos, $tabla;
$link = Conectarse();
Lenguajes de script - Tutorial de PHP 7 73
if($_POST)
{
$queryUpdate = "UPDATE $tabla SET Nombre = '".$_POST['nombreForm']."',
Apellidos = '".$_POST['apellidoForm']."'
WHERE ID = ".$_POST['idForm'].";";
if($resultUpdate)
{
echo "<strong>El registro ID ".$_POST['idForm']." con exito</strong>. <br>";
}
else
{
echo "No se pudo actualizar el registro. <br>";
}
?>
<table>
<tr>
<td>Nombre</td>
<td>Apellidos</td>
<tr>
<?php
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>";
echo $row["Nombre"];
echo "</td>";
echo "<td>";
echo $row["Apellidos"];
echo "</td>";
echo "<td>";
echo "<a href=\"?id=".$row["ID"]."\">Actualizar</a>";
echo "</td>";
echo "</tr>";
mysqli_free_result($result);
?>
</table>
<hr>
<?php
if($_GET)
{
$querySelectByID = "SELECT ID, Nombre, Apellidos FROM $tabla WHERE ID =
".$_GET['id'].";";
Lenguajes de script - Tutorial de PHP 7 74
$resultSelectByID = mysqli_query($link,
mysqli_query $querySelectByID);
$rowSelectByID = mysqli_fetch_array($resultSelectByID);
mysqli_fetch_array
?>
<?php
}
mysqli_close($link);
?>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 75
<html>
<head>
<title>Ejemplo de borrado de datos en base de datos MySQL</title>
</head>
<body>
<?php
function Conectarse()
{
global $host, $puerto, $usuario, $contrasena, $baseDeDatos, $tabla;
$link = Conectarse();
Lenguajes de script - Tutorial de PHP 7 76
if($_GET)
{
$queryDelete = "DELETE FROM $tabla WHERE ID = ".$_GET['id'].";";
if($resultDelete)
{
echo "<strong>El registro se ha eliminado con exito</strong>.<br>";
}
else
{
echo "Hubo un problema borrando el registro.";
}
}
?>
<table>
<tr>
<td>Nombre</td>
<td>Apellidos</td>
<tr>
<?php
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>";
echo $row["Nombre"];
echo "</td>";
echo "<td>";
echo $row["Apellidos"];
echo "</td>";
echo "<td>";
echo "<a href=\"?id=".$row["ID"]."\">Borrrar</a>";
echo "</td>";
echo "</tr>";
mysqli_free_result($result);
mysqli_close($link);
?>
</table>
<hr>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 77
Lenguajes de script - Tutorial de PHP 7 78
Antecedentes
El protocolo que utiliza la web (HTTP) es un protocolo sin estado, es decir, que no guarda ninguna
información sobre conexiones anteriores: no sabe en qué página web estuviste antes ni si ya has enviado
datos al sitio web. Lo único que conoce la página web son los datos que le llegan a través de la URL.
Dado que algunas páginas web querían poder reconocer a los visitantes y guardar datos de los
mismos de una conexión a otra sin tener que ir arrastrando un montón de parámetros en la URL, se inven-
taron las ya famosas cookies. Una cookie es un fragmento de información que se guarda en el ordenador
del usuario y que está asociado al navegador con el que visitó la página web. Esto quiere decir que cada
navegador guarda sus propias cookies y no las comparte con otros navegadores. La forma en la que se
guarda esta información depende del navegador, aunque muchos las almacenan como archivos de texto
en un directorio dado.
Cuando un navegador va a abrir una página web, si tiene alguna cookie guardada asociada a ese
sitio web (en realidad, a ese dominio), coge los datos de la misma y los manda al servidor web junto con la
petición de la página.
El sitio web que pone una cookie, también le dice al navegador hasta cuando debe durar (como
máximo) la misma: desde “hasta que se cierre el navegador” hasta cualquier cantidad de tiempo. Un domi-
nio sólo puede acceder a las cookies que puso él mismo en el navegador, es decir, un dominio no puede
acceder a las cookies de otros dominios.
Resumiendo, las formas que tiene un sitio web para propagar datos sobre un visitante son: la URL
o las cookies. El problema con ambos recursos es que son fácilmente modificables por el usuario: la URL
se puede cambiar directamente en la barra de direcciones del navegador y las cookies, al ser datos en el
ordenador del usuario, también pueden ser modificadas.
Así que, para guardar datos más críticos, se necesitaba un método que no fuera modificable por los
usuarios (para evitar que, por ejemplo, un usuario autenticado se hiciera pasar por otro). Así nacieron las
sesiones.
Una sesión en PHP 7 es una serie de caracteres aleatorios que forman una identificación única
para cada visitante (a la que llamaremos “id de sesión”). Cuando a un usuario se le asigna un id de sesión,
el servidor web crea un archivo en su sistema donde irá introduciendo todos los datos que queramos guar-
dar. Pero, ¿cómo reconoce el sitio web al usuario en sucesivas conexiones? Pues usando alguno de los
dos métodos anteriores; esto es, haciendo que el usuario le mande en la URL su id de sesión o enviándole
una cookie con el mismo y con una duración de “hasta que se cierre el navegador”.
Lenguajes de script - Tutorial de PHP 7 80
Mejor lo explicamos con un ejemplo: acabamos de autenticarnos en una página con nuestro usua-
rio (luis) y contraseña (******). El sitio web comprueba que efectivamente son correctos y quiere poder re-
conocernos en las siguientes conexiones. Los datos que quiere guardar son: “usuario=luis”. No puede usar
para esto la URL ya que entonces, cualquier persona que ponga en la barra de direcciones “usuario=luis”
podría acceder a nuestra cuenta. Por la misma razón no puede usar cookies, ya que cualquier usuario sólo
tendría que encontrar el archivo de su cookie y modificarla para que ponga “usuario=luis”. Así que lo que le
queda son las sesiones.
Mediante PHP el servidor web le asigna a este usuario un id de sesión (por ejemplo:
“31d7bgphebfemb55311b1cger6”), crea en su sistema un archivo (en este ejemplo con el nombre
“sess_31d7bgphebfemb55311b1cger6”) y mete dentro “usuario=luis”. Como este archivo no está en el
ordenador del usuario, sino en el propio servidor, sólo puede ser modificado por el sitio web. Luego, el ser-
vidor le manda una cookie al navegador con nombre el nombre de la sesión (por defecto y para este ejem-
plo “PHPSESSID”) y valor el id de sesión (“31d7bgphebfemb55311b1cger6”).
Así, cuando el usuario vaya a otra página dentro del mismo sitio web, le mandará al servidor el va-
lor de su cookie: “PHPSESSID=31d7bgphebfemb55311b1cger6” (este mismo efecto se puede conseguir
utilizando la URL). De esta forma, el servidor sabe que el usuario es el que tiene id de sesión
“31d7bgphebfemb55311b1cger6”, así que va a buscar el archivo con sus datos
(“sess_31d7bgphebfemb55311b1cger6”) y se los pasa a la página web.
Lenguajes de script - Tutorial de PHP 7 81
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_7 y en
ella, creemos un archivo llamado ejemplo_sesion.php con el siguiente código:
<?php
if(session_id()=="")
{
session_start();
}
if($_POST)
{
if(@$_SESSION['autentificado']!=TRUE)
{
$_SESSION['autentificado'] = TRUE;
$_SESSION['nombre'] = $_POST['nombreForm'];
$_SESSION['edad'] = $_POST['edadForm'];
}
}
if(@$_GET['salir']=="true")
{
session_unset();
session_destroy();
}
?>
<html>
<head>
<title>Ejemplo de sesión en PHP 7</title>
</head>
<body>
<?php
if(@$_SESSION['autentificado']==TRUE)
{
?>
<p>
Hola <?=$_SESSION['nombre'];?>, tienes <?=$_SESSION['edad'];?> años y estás autentifi-
cado. <a href="?salir=true">Haz click aquí para salir</a>.
</p>
<?php
}
else
{
?>
<p>
<strong>¡Hola!, veo que no estás autentificado, por favor llena el formula-
rio:</strong>
</p>
<form action="" method="post">
Nombre: <input type="text" name="nombreForm"> <br> <br>
Edad: <input type="text" name="edadForm"> <br> <br>
<input type="subm it" value="Guardar">
</form>
<?php
Lenguajes de script - Tutorial de PHP 7 82
}
?>
</body>
</html>
Y con este último código, veremos cómo usar los datos. Creemos un archivo llama-
llam
do ejemplo_sesion_2.php con el siguiente código:
<?php
if(session_id()=="")
{
session_start();
}
?>
<html>
<head>
<title>Ejemplo de sesión
sión en PHP 7</title>
</head>
<body>
<pre>
<?php
print_r($_SESSION);
?>
</pre >
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 83
Realmente las cookies no son mas que cadenas de texto que son enviadas desde el servidor al
cliente (navegador) y almacenadas en este, luego el navegador envía estas cookies al servidor
s permitien-
do así la identificación del cliente en el servidor.
A continuación vamos a ver como usar las cookies para nuestro beneficio.
Lenguajes de script - Tutorial de PHP 7 85
<?php
setcookie ( string $nombre [, string $valor [, int $expiracion = 0 [, string $path [,
string $dominio [, bool $secure = false [, bool $httponly = false ]]]]]] )
/*
Todos los argumentos excepto el nombre son opcionales.
*/
?>
Setcookie() define una cookie que es enviada junto con el resto de la información de la cabecera
(header). Las cookies PHP deben ser enviadas antes de cualquier tag de html, js, css o espacios, por lo
tanto deberemos realizar la llamada a estas funciones antes de cualquier tag. Esta es una restricción de
las cookies no de PHP 7.
• Nombre. Nombre de la cookie. Si creamos una cookie solamente con el nombre, en el cliente se eli-
minara la cookie que exista con ese nombre. También podemos reemplazar cualquier argumento con
una cadena vacía (“”).
• Valor. Valor que almacenará la cookie en el cliente.
• Expiración. El argumento expire es un argumento entero que indica la hora en que se eliminara la
cookie en el formato de hora que devuelven las funciones UNIX time() y mktime(). Normalmente se
usa time() + N. segundos de duración, para especificar la duración de una cookie.
• Path. Subdirectorio en donde tiene valor la cookie.
• Dominio. Dominio en donde tiene valor la cookie. Si ponemos como dominio www.domain.com la
cookie no se transmite para domain.com, mientras que si ponemos domain.com la cookie se transmite
tanto para domain.com como para www.domain.com
• Secure. El argumento secure indica que la cookie solo se transmitirá a través de una conexión segura
HTTPS.
•
<?php
?>
En este ejemplo establecemos una cookie de nombre usuario que contiene el valor Luis, que du-
ra 1 hora (3600 segundos) y es válida para todo el dominio tutorialphp.net.
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_8 y en
ella, creemos un archivo llamado ejemplo_cookie.php con el siguiente código:
<?php
if($_POST)
{
setcookie("usuario", $_POST['nombreForm'], time()+3600, "/", $_POST['dominioForm']);
}
?>
<html>
<head>
<title>Ejemplo de cookie en PHP 7</title>
</head>
<body>
Lenguajes de script - Tutorial de PHP 7 86
<?php
if($_COOKIE)
{
echo "Hay Cookies!: <br>";
print_r($_COOKIE);
}
else
{
echo "No hay Cookies :( <br>";
<br>"
}
?>
<p>
<strong>¡Hola!, vamos a grabarte en cookie:</strong>
</p>
<form
rm action="" method="post">
Nombre: <input type="text" name="nombreForm"> <br> <br>
Dominio: <input type="text" name="dominioForm"> <br> <br>
<input type="submit" value="Guardar Cookie">
</form>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 87
Podemos encontrar más funciones para expresiones regulares en PHP 7 en el siguiente sitio oficial
de PHP:
http://php.net/manual/es/ref.pcre.php
Lenguajes de script - Tutorial de PHP 7 89
¿Quieres saber si una dirección web es válida?, no hay problema, con esta expresión regular lo
tendremos muy fácil:
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/
2) Validar un E-mail
En muchas ocasiones necesitaremos saber si un e-mail con el que se trata de registrar un usuario
es válido:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
Con este snippet se validarán todos los número de teléfono pertenecientes a los listados en la Wikipedia
(en inglés):
Ahora que tan de moda está el e-commerce seguro que esto le vendrá bien a más de uno:
^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\ d{2}-?\s?\d{6}-
?\s?\d{5}$
Lenguajes de script - Tutorial de PHP 7 90
/http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-
]{11}).*/gi
Ahora que prácticamente todos empleamos xHTML es interesante comprobar que todas nuestras
etiquetas de imagen están correctamente cerradas:
<img([^>]+)(\s*[^\/])></img([^>
Si necesitas validar una dirección IP introducida por un usuario, esto te será de gran ayuda:
/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-
9]|25[0-5])$/
^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$
Si por ejemplo quisiéramos validar un nombre de usuario con un mínimo de 4 caracteres y un máximo de
15 haríamos lo siguiente:
/^[a-z\d_]{4,15}$/i
Veamos un ejemplo, creemos una carpeta dentro de "mis_apps" que se llame "capitulo_9 y en
ella, creemos un archivo llamado expresiones_regulares.php con el siguiente código:
<?php
/* Multi-Función */
function regexCheck($variable,$case)
{
case "ipAddress":
$regex = "/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-
9]{2}|2[0-4][0-9]|25[0-5])$/";
break;
case "userName":
$regex = "/^[a-z\d_]{4,15}$/i";
break;
}
if(preg_match($regex,$variable))
{
return TRUE;
}
else
{
return FALSE;
}
if(@$_POST['emailForm'])
{
if(regexCheck($_POST['emailForm'],"email")){
$resultadoEmail = "El email tiene el formato correcto.";
}
else
{
$resultadoEmail = "El email NO tiene el formato correcto.";
}
}
if(@$_POST['IPForm'])
{
if(regexCheck($_POST['IPForm'],"ipAddress")){
$resultadoIP = "La dirección IP tiene el formato correcto.";
}
else
Lenguajes de script - Tutorial de PHP 7 92
{
$resultadoIP = "La dirección IP NO tiene el formato correcto.";
}
}
if(@$_POST['UserNameForm'])
{
if(regexCheck($_POST['UserNameForm'],"userName")){
$resultadoUN = "El nombre de usuario tiene el formato correcto.";
}
else
{
$resultadoUN = "El nombre de usuario tiene el formato correcto.";
}
}
?>
<html>
<head>
<title>Ejemplo de expresiones regulares en PHP 7</title>
</head>
<body>
<h3>Validemos e-mail:</h3>
<form action="" method="post">
Tu e-mail:
<input type="text" name="emailForm"> <br> <br>
<input type="submit" value="Comprobar">
</form>
<strong><?php echo @$resultadoEmail; ?></strong>
<h3>Dirección IP:</h3>
<form action="" method="post">
IP:
<input type="text" name="IPForm"> <br> <br>
<input type="submit" value="Comprobar">
</form>
<strong><?php echo @$resultadoIP; ?></strong>
<h3>Nombre de usuario:</h3>
<form action="" method="post">
Uusario:
<input type="text" name="UserNameForm"> <br> <br>
<input type="submit" value="Comprobar">
</form>
<strong><?php echo @$resultadoUN; ?></strong>
</body>
</html>
Lenguajes de script - Tutorial de PHP 7 93
Lenguajes de script - Tutorial de PHP 7 94
En proyectos con varios programadores, es posible asignar clases especificas que hagan un de-
terminado trabajo a cada programador, y este desarrollarla independientemente de los avances de los de-
más, ya que los objetos son independientes unos de otros, esto hace más rápido y práctico el desarrollo
del proyecto.
OOP en PHP
PHP desde su versión 3.0 soportaba la sintaxis de la OOP sin embargo en ese tiempo (y un poco ahora)
carecia de todas sus características. A este tiempo PHP soporta todo lo que un lenguaje orientado a obje-
tos en teoría debería soportar:
• Encapsulamiento.
• Tipos Abstractos de Datos y ocultamiento de la Información.
• Herencia.
• Polimorfismo.
PHP 7 no es un lenguaje 100% Orientado a Objetos sin embargo los soporta y muy bien, ¿por qué no obe-
tener provecho de eso?, para comprender la POO, debemos comprender las partes que la conforman:
La clase es una plantilla que usamos para crear objetos, al crear un objeto de una clase se dice
que es una instancia de esa clase. Los objetos en PHP 7 se crean (instancian) con la palabra reserva-
da New.
La clase es una plantilla que usamos para crear objetos, al crear un objeto de una clase se dice
que es una instancia de esa clase. Los objetos en PHP 7 se crean (instancian) con la palabra reserva-
da New.
<?php
class Ejemplo
{
//Constructor
function Ejemplo()
{
//Nada por aquí
}
//Iniciamos la clase
$ob = new Ejemplo();
?>
Constructor
Métodos
Los métodos (también operaciones) no son más que un tipo de funciones propias de la clase, se
manejan igual, reciben parametros, desarrollan un proceso y devuelven (o no) un valor, los métodos se
definen con la palabra reservada function.
<?php
class Ejemplo
{
//Constructor
function Ejemplo()
{
//Nada por aquí
}
function MuestraNombre($nombre)
{
echo "El nombre es " . $nombre;
}
}
//Iniciamos la clase
$obj = new Ejemplo();
//Llamamos al método
$obj->MuestraNombre('Fernando Gil');
?>
Esto es una clase con un simple método que muestra el valor de su unico parámetro programado,
el ejemplo daria como resultado:
En este artículo veremos algo súper importante dentro de PHP 7 orientado a objetos, los Atributos.
Pero, ¿qué son los Atributos?, vamos a verlo.
Basicamente se les llama Atributos a varibales que contienen información del estado de un objeto. Estos
se definen usando la palabra reservada var.
Veamos el siguiente código:
<?php
class Ejemplo()
{
var $atributo;
function Ejemplo()
{
//Do nothing...
}
function DaValor($valor)
{
$this->atributo = $valor;
}
$obj->DaValor(4);
?>
Ahora el atributo valdra 4, $this usada en el ejemplo, es una variable especial referenciada al objeto
y atributos de la clase o de la clases heredadas, esto nos lleva al siguiente punto.
Lenguajes de script - Tutorial de PHP 7 98
<?php
class Ejemplo {
var $atributo;
function Ejemplo()
{
// Do nothing
}
function setAtributo($value)
{
$atributo = $value;
}
}
function getAtributo()
{
return $atributo;
}
}
$obj->setAtributo(7);
echo $obj->getAtributo();
?>
Como ves se pueden usar los métodos de las dos clases ya que al instanciar un objeto de la cla-
se Ejemplo2 al ser heredada de Ejemplo adquiere sus métodos.
Lenguajes de script - Tutorial de PHP 7 99
Al ser declarado un método o atributo public, éste será accesible desde cualquier punto del script,
éste es el punto más bajo del sistema de proteccion. Para declarar público, se debe de usar la palabra
reservada public.
<?php
class Ejemplo ()
{
public $atributo;
function Ejemplo()
{
$this->atributo = 'Hey!';
}
echo $obj->atributo;
?>
Lenguajes de script - Tutorial de PHP 7 100
Este es el más restrictivo, los elementos declarados bajo private sólo serán accesibles desde
métodos de su clase original.
<?php
class Ejemplo ()
{
private $atributo;
function Ejemplo()
{
$this->atributo = 'Hey!';
}
function daAtributo()
{
return $this->atributo;
}
echo $obj->daAtributo;
?>
Como te darás cuenta, hemos tenido que instanciar un método para devolver el valor de atributo.
Con este los elementos serán accesibles desde su clase original o desde clases heredadas.