Introducción a PHP

PHP (Hypertext Preprocessor) es un lenguaje de código abierto muy popular, especialmente muy adecuado para el desarrollo web y que puede ser incrustado en código HTML. Normalmente esta enfocado para crear scripts del lado del servidor aunque se puede utilizar para muchas otras cosas.

Existen tres aplicaciones principales donde podemos utilizar scripts PHP:
Del lado del servidor
Desde la linea de comandos 
En aplicaciones de escritorio


1. Estructura PHP

Un script PHP contiene una etiqueta de apertura y otra de cierre, todo lo incluido dentro de estas etiquetas sera nuestro script PHP. En el siguiente ejemplo se puede observar su estructura:
    <?php
        // Declaraciones PHP
    ?>
Normalmente veremos la estructura del ejemplo pero es probable que encontremos scripts PHP con una etiqueta de apertura sin las siglas "php" <? (ambos scripts son correctos aunque la forma mas utilizada es la del ejemplo).

HTML nos permite incluir scripts PHP a nuestro documento web, simplemente crearemos nuestros scripts con las etiquetas de apertura y de cierre. Normalmente el script PHP no se visualiza en el navegador a no ser que se indique. El siguiente ejemplo muestra como incluir un script en un documento HTML:
<!doctype html>
<html>
<head>
    <title>Ejemplo PHP</title>
</head>
<body>
    <?php 
        echo "<p>Hola Mundo</p>"; 
    ?> 
</body>
</html>
Es un ejemplo muy simple con una única declaración que muestra en el navegador un párrafo con el texto "Hola Mundo", en los puntos siguientes del articulo se explicara todo lo del ejemplo.

Deberemos tener en cuenta que cada declaración PHP termina con un punto y coma ";". Otro aspecto a tener en cuenta es a la hora de declarar funciones, podremos hacerlo en mayúsculas ya que php lo interpreta de igual manera, sin embargo en los nombres de variables si que distingue entre mayúsculas y minúsculas. En ocasiones veremos un grupo de declaraciones encerradas dentro de un bloque simple encerrado con llaves "{ ... }". Su uso es muy común a la hora de utilizar condicionales y no es necesario utilizar punto y coma al final.



2. Visualizar PHP en una página web

Para visualizar contenido PHP en el navegador web podemos hacerlo a través de las funciones: "echo" y "print" (ambas hacen lo mismo). En este artículo nos vamos a centrar en "echo" que nos permite visualizar un número, una cadena de texto o incluso una variable. En el caso de utilizar cadenas de texto deberemos tener en cuenta que siempre utilizan comillas.

A continuación se muestran varios ejemplos escritos en PHP, como lo interpreta HTML y como se visualizara en el navegador web:

PHP HTML Navegador Web
print "Hola"; Hola Hola
echo 222; 222 222
echo "Hola", "Mundo!"; HolaMundo! HolaMundo!
echo Hola Mundo!; NO ES VALIDO MENSAJE DE ERROR
print "Hola Mundo!"; Hola Mundo Hola Mundo
echo 'Hola Mundo!'; Hola Mundo Hola Mundo
print "Hola Mundo!";
print "Bienvenido";
Hola Mundo!Bienvenido Hola Mundo!Bienvenido
echo "Hola Mundo!\n";
echo "Bienvenido";
Hola Mundo!
Bienvenido
Hola Mundo! Bienvenido
echo "Hola Mundo!";
echo "<br />";
echo "Bienvenido";
Hola Mundo!
<br />
Bienvenido
Hola Mundo!
Bienvenido

Podemos observar que se puede utilizar comillas dobles o simples (en el apartado "Strings" de "Tipos de datos" se explica detalladamente las diferencias). Por otro lado si necesitamos hacer un salto de linea deberemos tener en cuenta que HTML solo lo interpreta cuando hacemos uso de la etiqueta <br />. Por medio del signo "\n" nos creara un espacio.



3. Variables

3.1 Nombres de variables

Al crear los nombres de las variables en PHP deberemos tener en cuenta las siguientes reglas:
Identificador: Las variables se indican con un signo de dolar "$" delante del nombre de la variable. Por ejemplo: "$edad" 
Comienzo del nombre: todas las variables deben comenzar con una letra o subrayado, nunca con un numero. 
Longitud del nombre: pueden tener cualquier longitud pero siempre aceptable. 
Caracteres aceptados: solo pueden incluir letras, números o subrayado. 
Mayúsculas y minúsculas: PHP las distingue cuando trabaja con variables, por ejemplo: "nombre" y "Nombre" no es la misma variable.
Es de buena practica utilizar nombres de variables que dejen claro cual es la información que maneja la variable.


3.2 Valor de una variable

Las variables pueden almacenar datos como números o cadenas de texto, algunos ejemplos:
    $edad = 13;    
    $altura = 1.88;
    $nombre_usuario = "Juan";
En cualquier momento podremos eliminar el valor de la variable:
    $edad = "";
O directamente eliminar la variable con la siguiente función PHP:
    unset($edad);


3.3 Variables variables

PHP permite utilizar nombres de variables dinámicas llamadas "variables variables". Esto quiere decir que si creamos una variable, podemos usar su valor para crear otra variable a través del nombre de la variable. En un ejemplo se vera mas claro:
    $ciudad = "Santa";    
    $$ciudad = "Monica";
Si recordamos bien, todas las variables comienzan por el signo de dolar "$" por lo tanto la segunda variable del ejemplo se llama "$ciudad" o lo que es lo mismo, es el valor de esa variable y por lo tanto la variable se llamaría "$Santa". Para recuperar el valor de una variable variable podríamos utilizar las siguientes declaraciones (las dos tendrán como salida "Santa Mónica"):
    echo "$ciudad ${$ciudad}";
    echo "$ciudad $Santa";


3.3 Visualizar el valor de una variable

Comentar que una variable estará disponible a lo largo de todo el documento ya sea PHP o HTML. Para visualizar su contenido, PHP nos proporciona varias funciones: echo, print, print_r() y var_dump(). A continuación se muestra varios ejemplos con estas funciones:

PHP Salida
$str = "Hola":
echo $str;
Hola
$str = "Hola":
echo '$str';
$str
$str1 = "Hola":
$str2 = "Mundo":
print $str1, $str2;
HolaMundo
$str1 = "Hola":
$str2 = "Mundo":
print "$str1 $str2";
Hola Mundo
$str1 = "Hola":
$str2 = "Mundo":
echo '$str1', "$str2";
$str1Mundo
$edad = 15:
echo "Tiene una edad de $edad";
Tiene una edad de 15
$animal = "dino":
print "El {$animal}saurio es muy viejo";
El dinosaurio es muy viejo
$dia = "Lunes";
print_r($dia);
Lunes
$mes = "Agosto";
var_dump($mes);
string (6) "Agosto"

Cuando se utilizan comillas simples, la salida sera lo declarado literalmente. Al usar comillas dobles el valor de la variable sera sustituido por su valor.

En algún caso puede ser necesario juntar el nombre de una variable con un texto, para ello encerraremos la variable entre llaves {}. (Ejemplo del dinosaurio)

El uso de var_dump() es algo mas completo que el resto de funciones que estamos viendo. Nos da como salida: el tipo de dato, la longitud en caracteres y el valor de la variable. (Ultimo ejemplo)



4. Constantes

Son similares a una variable con la diferencia de que una constante no puede cambiar su valor. Para crearlas basta con asignarles un nombre y almacenar su valor. Su uso mas común suele ser cuando necesitamos compartir un valor en varios lugares del script y este valor no necesita ser cambiado. Es recomendable declarar las constantes al inicio de nuestro script. Y podremos definirlas con la siguiente función:
    define("NombreDeLaConstante", "ValorDeLaConstante");
    define("CIUDAD", "Teruel");
    define("EDAD", 25);
Podremos imprimirla en pantalla sin utilizar comillas:
    echo CIUDAD;
El nombre de la constante no tiene porque ir en mayúsculas pero se recomienda. También debemos tener en cuenta que a la hora de crear un nombre de constante se aplican las mismas reglas que para una variable.



5. Tipos de datos

Hay varios tipos de datos específicos que podemos almacenar en una variable:

Tipo de Dato Descripción
Integer Numero entero
Float Valor numérico con decimales
String Cadena de texto
Boolean Valor que puede ser verdadero o falso
NULL Valor nulo o que no representa ningún valor
Array Conjunto de valores almacenados en una variable
Object Estructura creada con una clase
Resource Referencia que representa un recurso externo


Cuando trabajamos con tipos de datos deberemos tener en cuenta varias reglas:
  • PHP determina de forma automática el tipo de dato de una variable:
        $var1 = 123;       // Integer        
        $var2 = "Hola";    // String
        $var3 = true;      // Boolean
  • PHP convierte de forma automática varios tipos de datos. Por ejemplo si juntamos en una variable un Integer y un Float, PHP convertirá el Integer en Float para poder trabajar con los dos valores.
        $var1 = 123;              // Integer        
        $var2 = 23.44;            // Float
        $var3 = $var1 + $var2;    // Resultado final Float
  • Podremos establecer el tipo de datos, a esta característica se le llama "casting":
        $var1 = "222";            // String
        $resultado = (int)$var1;  // Integer
  • Podremos consultar el tipo de dato de una variable con var_dump():
        var_dump($resultado);    
        int (222)                 // Salida


5.1 Integer y Float

Los dos tipos de datos son numéricos, por lo que podremos realizar operaciones aritméticas con ellos. Las diferentes operaciones aritméticas se muestran en la siguiente tabla:

Operador Descripción
+ Suma
- Resta
* Multiplicación
/ División
% Resto o Modulo

Podremos realizar operaciones aritméticas con variables o directamente en una variable como en el ejemplo siguiente:
    $resultado = (3+1)*(5-2)+3-2;
    $resultado = 4*3+3-2;
    $resultado = 12+3-2;
    $resultado = 13;
A la hora de realizar las operaciones de una variable, primero se realizan las que estén dentro de los paréntesis si los hay, segundo las multiplicaciones o divisiones y para terminar el resto de operaciones.


Otra característica de PHP a la hora de trabajar con valores numéricos es que nos permite darles un formato, es decir, podríamos indicar que los valores son dolares o euros añadiendo dos decimales al valor de la variable. Para ello PHP nos proporciona la función "sprintf()". Es una función que ofrece muchas posibilidades y a su vez es muy compleja, aquí puedes encontrar información detallada: SPRINTF().

Un ejemplo rápido para añadir dos decimales a un numero entero:
    $precio = 25;
    $formato = sprintf("%01.2f", $precio);
    echo "$formato";

    // La salida sera:    string (5) "25.00"

Si queremos añadir una coma a un valor mayor para separar los millares podremos utilizar la función "number_format()":
    $precio = 25000;
    $formato = number_format($precio, 2);
    echo "$formato";

    // La salida sera:    25,000.00
Esta función admite uno, dos o cuatro parámetros. Podemos encontrar mas información aquí: NUMBER_FORMAT().


5.2 String

Las cadenas de texto se componen de caracteres que pueden ser números, letras o símbolos. Al almacenar una cadena de texto en una variable, le indicamos a PHP donde empieza y donde termina mediante unas comillas dobles o simples. Hay veces que necesitaremos introducir unas comillas dentro de una cadena de texto, para que PHP no lo interprete como el inicio o el final deberemos ponerle una barra delante: \' o \"

Al usar comillas simples la cadena de texto queda almacenada literalmente con la excepción de \' que se almacenara como un apostrofe. Por el contrario si utilizamos comillas dobles, primero se evalúa la variable en busca de caracteres especiales.

Diferencias mas importantes entre utilizar comillas simples o dobles:
  • Manejo de variables: cuando encerramos una variable entre comillas dobles, PHP utiliza el valor de la variable, por otro lado con las comillas simples utilizara el valor literal de las comillas.
        $mes = 6;            
        $resultado1 = "$mes";
        $resultado2 = '$mes';
        echo $resultado1, $resultado2;
        
        // Salida $resultado1:    6
        // Salida $resultado2:    $mes
  • Salto de linea: ocurre lo mismo que el ejemplo anterior.
        $str1 = "Cadena de texto \nCon dobles comillas";            
        $str2 = 'Cadena de texto \nCon simples comillas';

        // Salida $str1:    Cadena de texto
                            Con dobles comillas
        
        // Salida $str2:    Cadena de texto \nCon simples comillas
  • Insertar un tabulador: exactamente lo mismo que el ejemplo anterior.
        $str1 = "Cadena de texto \tCon dobles comillas";            
        $str2 = 'Cadena de texto \tCon simples comillas';

        // Salida $str1:    Cadena de texto    Con dobles comillas
        
        // Salida $str2:    Cadena de texto \tCon simples comillas

Queda claro que el uso de comillas simples interpreta el valor de la variable literalmente, en cambio las comillas dobles evalúan el valor de la variable antes de darle salida.

Una ultima forma de usar comillas seria incluir comillas simples dentro de comillas dobles o viceversa:
        $numero = 10;            
        $str1 = "Tenemos '$numero' personas en clase";
        $str2 = 'Tenemos "$numero" personas en clase';

        // Salida $str1:    Tenemos '10' personas en clase
        
        // Salida $str2:    Tenemos "$numero" personas en clase


Existe un proceso llamado concatenación que nos permite unir cadenas de texto mediante un punto:
        $str1 = "Hola";            
        $str2 = "Mundo";
        $strFinal = $str1.$str2;

        // Salida $strFinal:    HolaMundo
Para crear un espacio podríamos usar la siguiente declaración:
        $strFinal = $str1." ".$str2;
Una ultima forma de utilizar la concatenación:
        $strFinal = "Hola";            
        $strFinal .= " Mundo";
        
        // Salida $strFinal:    Hola Mundo


Otra característica de PHP llamada "heredoc" nos permite escribir cadenas de texto muy largas. Simplemente indicaremos donde empieza y donde acaba teniendo en cuenta que las etiquetas de apertura y cierre deben ir solas en la linea donde se escriban.
        $concatenacion = <<<STRING_HEREDOC
        Cadena de caracteres
        ...
        ...
        STRING_HEREDOC;
Las etiquetas "STRING_HEREDOC" de apertura y cierre pueden ser sustituidas por cualquier valor teniendo en cuenta que deben tener el mismo valor. Dentro de ellas podremos incluir el texto que sea necesario, PHP evalúa la variable de la misma forma que una variable con comillas dobles por lo tanto nos permite el uso de caracteres especiales o incluso nombres de variables.


5.3 Boolean

Una variable con este tipo de datos solo puede almacenar verdadero (true) o falso (false). Los datos booleanos son muy útiles cuando comparamos valores y expresiones en las sentencias condicionales (if). Un par de ejemplos:
        $var1 = true;            
        $var2 = false;
Los siguientes datos se evalúan a "false":
  • La palabra: "false"
  • El numero entero: "0"
  • El numero decimal: "0.0"
  • Una cadena de texto vacía: ""
  • Una cadena de texto con valor: "0"
  • Un array vacío
  • Un objeto vacío
  • El valor: "NULL"

El valor NULL es el único dato que establece el valor de la variable a "nulo" por lo tanto la variable no tendrá ningún valor.



6. Comentarios en PHP

Con este ultimo punto terminamos el artículo. Podríamos decir que los comentarios son notas incrustadas en nuestro código PHP que nos ayudaran a describir partes del código. Pueden resultar muy útiles por ejemplo cuando nos encontramos con un código que no es nuestro, nos ayudara a entender el trabajo. PHP no hará caso a los comentarios durante su ejecución. A continuación se muestran varios ejemplos:
        /* Esto es un comentario */
        /* 
         * nombre: prueba.php
         * descripcion: script de ejecucion
         * creado: 5-8-2013
         */
        $prueba = 18;        // Comentario
        $prueba = 18;        # Comentario
        ************************
        * COMENTARIO PRINCIPAL *
        ************************

No hay comentarios:

Publicar un comentario