Variables en PHP (I)

Como os comentaba en el anterior post, sobre la sintáxis básica de PHP, en este vamos a ver una introducción a las variables en PHP y sus tipos de datos. Pero si queremos empezar de cero, deberenos definir primero el concepto de variable en el mundo de la programación y la programación web. Empecemos pues: una variable es la representación gráfica de un puntero de memoria, un espacio que reservamos de la memoria RAM de nuestro ordenador o servidor para ‘invocarlo’ cuando lo necesitemos, igualando su valor a lo que nos interese, es decir, a un determinado valor con un determinado tipo de datos. Hablamos pues de la declaración de variables y de tipos de datos de variables. Así pues, las variables tienen un  nombre, un valor y un tipo de datos.

¿Y cómo se representan? Las variables en PHP se escriben anteponiendo el símbolo dólar ($) al nombre de la variable que vamos a definir. Pueden llevar un guión bajo, letras y números, pero nunca empezar por un número, ni tener un espacio en blanco. La asignación del valor de la variable va precedida por el símbolo igual (=). La declaración de la variable debe finalizar con un punto y coma (;), como toda línea de instrucción en PHP Algunos ejemplos:

$_texto=”Hola”;
$texto=’Otra cadena de texto’;
$_Texto=’Es mejor utilizar comillas simples’;
$Texto=”Las comillas dobles implican un procesamiento”;
$Texto2=’Todo eso lo veremos más adelante’;

PHP distingue entre mayúsculas y minúsculas, es un lenguaje ‘case-sensitive. Así, estas dos variables son distintas, a pesar de que su valor sea el mismo y su tipo de datos también:
$_texto=’Hola’;
$_Texto=”Hola”;

Veamos una variable en su ‘salsa’:

La hora es: <?php $_texto=’Esto es una variable en PHP’;
// Mostramos la variable en el navegador
echo  $_texto;
?>

Ejecutar ejemplo

El valor de la variable $_texto es la cadena de texto ‘Esto es una variable en PHP’, que también podría escribirse así: “Esto es una variable en PHP”.

PHP es un lenguaje de script muy flexible, pero no declara explícitamente el tipo de datos de las variables. Eso no quiere decir que dichos tipos no existan ni que tampoco podamos comprobarlos. En el ejemplo anterior, y adelantando acontecimientos, la variable $_texto tiene como tipo de datos una cadena de texto (“Esto es una variable en PHP”). PHP permite operar con las variables, pudiendo cambiar ‘dinámicamente’ el tipo de datos al realizar operaciones entre ellas.

Tipos de varibles en PHP
Existen 4 grupos de tipos de datos para las variables en PHP:

  • Variables numéricas: Almacenan valores de cifras, números enteros y reales. Su valor no debe ir entre comillas..
    $entero=99; // números enteros
    $pi=3.14159; // números reales con o sin decimal
    $nacimiento = 1967
  • Variables alfanuméricas (cadenas de texto): almacenan cadenas compuestas por textos y/o números. Su valor se expresa entre comillas simples o dobles.
    $cadenaTexto=”Un texto cualquiera”;
    $cadenaTexto2=”1967″;
    $cadenaTexto=”Nací en 1967, ya soy viejales”;
  • Matrices (o tablas) (arrays): almacenan series numéricas y(o alfanuméricas. El primer elemento elemento disponible en una matriz es el cero [0]. Dependiendo del tipo de datos, su valor se expreará entre comillas o no.
    $enero[0]=”Ir al cine”;
    $febrero[1]=”Aprender PHP”;
    $marzo[2]=”Ya son fallas”;
    $abril[3]=”Llega la primavera”;
    $año[2]=2011;
  • Objetos (conjuntos de variables y funciones asociadas): Los veremos más adelante…

Dependiendo de la información que contenga, una variable puede ser considerada de uno u otro tipo. A diferencia de otros lenguajes, PHP posee una gran flexibilidad a la hora de operar con variables. En efecto, cuando definimos una variable asignándole un valor, el ordenador le atribuye un tipo. Si por ejemplo definimos una variable entre comillas, la variable será considerada de tipo cadena:

<?php $numero=”365″; ?>

A pesar de ser un valor numérico,la variable  $numero se interpretará como una cadena de texto al ir entre comillas. Pero si realizamos operaciones entre variables, el tipo de dato cambiará para adaptarse al contexto. Si lo hubiéramos escrito así <?php $numero=365; ?> su tipo de datos sería claramente numérico, en concreto, su valor es un entero  (sin decimales), el 365.

Introducción a las funciones en PHP
Comentaros también que es importante que introduzcamos el concepto de funciones en la programación. PHP dispone de una considerable cantidad de las mismas. Veamos un ejemplo:

<?php $hora=date (‘H:i:s’); ?>
Esta función, una vez ‘invicada a través de otra función, como es ‘echo’, nos mostrará la hora con unos determinados parámetros en este caso que son hora (H), minutos (i) y segundos (s). Así, si quisiéramos mostrar una página con la hora en ese formato, escribiríamos el siguiente script en PHP:

<?php $hora=date (‘H:i:s’);
echo $hora;
?>

Ejecutar ejemplo

En el próximo post, ampliaremos el contenido de las variables y, sobre todo, nos introduciremos en las funciones en PHP.


Enlaces recomendados:

Variables en php (manual oficial en inglés):
Artículo en desarrolloweb.com sobre variables en php

Sintáxis básica de PHP

La estructura de un archivo PHP

Ahora que ya sabemos qué es PHP y tenemos el entorno para usarlo, necesitaremos empezar a aprender a utilizarlo, saber cómo funciona este lenguaje de script. Y como todo lenguaje de script o guión, tiene su sintáxis, sus funciones, sus métodos, su forma de declarar las variables… Iremos paso a paso.

Como ya hemos comentado, el código de PHP puede embeberse perfectamente en el código HTML y se diferencia del mismo por las etiquetas <?php  … ?> o su forma abreviada: <??>, de apertura y cierre respectivamente. Un ejemplo:


<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title>Ejemplo de código PHP</title>
</head>
<body>
<!– Inicio de un comentario en HTML: Aquí insertamos el código PHP –>


<?php
echo “Esto es un script PHP”; ?>
</body>

</html>

Si la página tiene la extensión .php y la abrimos bajo un servidor PHP -como el de XAMPP si lo hemos instalado- el servidor nos devolverá una página con código HTML. El servidor web interpretará el código entre las etiquetas especiales de php y devolverá el texto Esto es un script PHP gracias a la función echo de PHP. Más adelante veremos las principales funciones de PHP. Si eres impaciente (yo también lo soy), visita la página oficial de PHP para conocerlas. Nosotros las trataremos un poquito más adelante, prometido, pero primero hablaremos de las variables y tipos de datos en PHP.

Un resumen básico de la sintáxis de PHP sería el siguiente:

  • El código PHP se puede introducir en cualquier parte del documento HTML para crear nuestra página web dinámica. Se denomina escapar de HTML.
  • El script debe ir entre las etiquetas, tags o directivas <?php?> aunque también podemos utilizar la forma abreviada: <??>. Es recomendable utilizar siempre la forma no abreviada, por posibles incompatibilidades con el servidor web al no tener habilitada la función o característica correspondiente.
  • Cada línea de código PHP debe terminar con un punto y coma (;). El punto y coma es un separador para distinguir una instrucción de otra.
  • Hay dos funciones básicas de PHP para devolver texto, es decir, para escribir texto en la página web resultante. Son echo y print. Las veremos más adelante, aunque ya hemos visto varios ejemplos de echo(). Si quieres saber las diferencias entre la función echo() y print(), te recomiendo que leas este post de Baluarte.net: Usos de print() y echo().
  • Los archivos deben tener la extensión .php. Si tienen extensión .htm o .html, el código de script no será interpretado por el servidor, por lo que no nos lo devolverá como HTML y no podremos visualizarlo, sólo el contenido HTML Un archivo PHP puede contener sólo código HTML, aunque no es algo práctico que hacer ya que el servidor intentará proprocesar el código inexistente, tardando algo más nuestra página en cargarse de forma innecesaria.
  • Los comentarios en PHP se escriben entre dos barras inclinadas // para una única línea. Si queremos comentar más de una línea, es decir, un bloque , utilizaremos estos símbolos: /* como apertura y */como cierre del comentario en bloque.

Para crear la página, en principio necesitaremos tan sólo un editor de texto, como el bloc de notas de Windows o cualquier editor de textos de Linux (yo utilizo el sencillo gedit), en el caso de que hayamos optado por instalar nuestro servidor local en una distro Linux. Sólo tendremos que salvar el archivo con la extensión .php y guardarlo en la carpeta correspondiente de nuestro proyecto web.

Si hemos instalado el servidor XAMPP en Windows, será la carpeta C:/xampp/htdocs. Para visualizarlo, escribiremos en un navegador web la dirección de nuestro servidor local y el nombre de nuestra página con la extensión .php (principalmente). Sería: http://localhost/primera_pagina.php o http://127.0.01/primera_pagina.php, o el nombre que la hayamos dado. Eso sí, siempre con la extensión .php. El código anterior, guardada la página como primera_pagina.php. El código de la misma es el siguiente:


<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

<title>Ejemplo de código PHP</title>
</head>
<body>
<!– Inicio de un comentario en HTML: Aquí insertamos el código PHP escapando de HTML –>
<p>
<?php echo “Esto es un script PHP. Se mostrará este texto en el navegador”; ?>
</p>
<p>

 <?php
// Esto es un comentario en PHP de una sola línea. No se visualizará en el navegador web

echo “Otro texto aquí, <b>entre comentarios PHP</b> que no se visualizarán.”;
/* Y esto es un comentario en bloque:

Podemos escribir tantas líneas de texto como queramos y seguirá siendo el mismo comentario.
Lo importante es que cuando acabemos de comentar el código tengamos la precaución de cerrarlo.
Acabamos de insertar código HTML en el código PHP, en concreto la etiqueta de negrita <b></b>
Cerramos el comentario */
?> 

</p>
</body>
</html>

Los comentarios en PHP no se visualizarán tampoco aunque veamos el código fuente, al ser preprocesados por el servidor web. Pero con PHP se pueden hacer muchas más cosas que eso, y no sólo enfocado al desarrollo web, aunque en este blog hablemos principalmente de eso. Si quieres saber más al respecto, visita la página ¿Qué se puede hacer con PHP? del manual oficial.

Por ahora no hemos hecho nada especial ¿verdad? Paciencia. En el próximo post hablaremos de las variables, tipos de datos y algunas funciones básicas de PHP. Con eso ya tendremos más herramientas para empezar a ver por nosotros mismos las posibilidades de PHP. Hasta pronto.

Enlaces recomendados:
Manual oficial de PHP (en castellano)
PHP Tutorial W3Schools  (en inglés)
Conceptos básicos de php (Webestilo)

Instalar y configurar PHP en modo local en Windows y Linux

Ahora que ya sabemos lo que es PHP, querremos empezar a utilizarlo, aunque todavía no sepamos muy bien cómo. Para ello, el siguiente paso es instalarlo en nuestro PC, en modo local, para así poder hacer todas las pruebas necesarias en un entorno de desarrollo, sin miedo a ‘romper’ nada. Vamos a ello.

PHP necesita de un servidor web para poder trabajar. La elección idónea es Apache, probablemente el servidor open source más utilizado en el mundo, si no me equivoco. Disponemos de varias formas de instalar PHP con el servidor Apache, así como instalar cada tecnología por separado en los sistemas operativos más utilizados: WindowsLinux, Mac OS X y Solaris.

Yo lo he instalado tanto en Windows como en Linux, en concreto en la distro Ubuntu. Esta última elección es mi preferida, ya que PHP y el servidor Apache están especialmente concebidos para trabajar en entornos open source. Lo de Ubuntu es simplemente porque es la distro Linux que más me gusta, además de ser un sistema operativo muy robusto y en constante desarrollo y mejora. Pero eso es harina de otro costal. Volvamos al tema en cuestión: instalar todo el entorno necesario para trabajar con PHP en nuestro PC, convirtiéndolo así en un servidor ‘de pruebas’ para nuestro aprendizaje.

En mi opinión, la mejor opción es instalar XAMPP de Apache Friends. XAMPP se comercializa liberado bajo licencia GNU, es decir, es software libre (open source). Además, Xampp es multiplataforma y gratuito. Veamos como lo describe Apache Friends:

XAMPP es una forma fácil de instalar la distribución Apache que contiene MySQL, PHP y Perl. XAMPP es realmente simple de instalar y usar – basta descargarlo, extraerlo y comienzar. En este momento hay cuatro versiones de XAMPP: XAMPP para Linux, XAMPP para Windows, XAMPP para Mac OS X y XAMPP para Solaris.


Instalación en Windows
Los pasos para instalar XAMPP en Windows son extremadamente simples:

– Descargar el paquete de instalación (.zip para Windows) e iniciar la instalación: http://www.apachefriends.org/en/xampp-windows.html. Es muy recomendable instalarlo en el directorio raíz de nuestro PC, normalmente en C:/ La instalación se encargará de crear la carpeta xampp, e la que se alojarán todos los archivos de nuestro servidor, así como los proyectos web que queramos que funcionen bajo el mismo.

– Una vez instalado Xampp, pondremos en marcha el servicio. Para comprobar que todo funciona perfectamente pulsaremos sobre el botón “Start” del módulo Apache e, inmediatamente, nos avisará mediante el mensaje “Running” de que el módulo se encuentra activo. Lo mismo haremos con el módulo de MySql, el gestor de bases de datos (de MySQL hablaremos más adelante).

Para poner en marcha Xampp ejecutamos el fichero C:/xampp/xampp-control.exe. Veremos lo siguiente:

Panel de control de Xampp para Windows
Panel de control de Xampp para Windows. En mi caso, una instalación portable

Dispondremos de iun acceso directo al panel de control en la barra de tareas de Windows.

La raíz del servidor Apache se encuentra en el directorio C:xampphtdocs. Todos los ficheros que se encuentren dentro de este directorio serán procesados por Apache cuando accedamos mediante la URL especial http://localhost o http://127.0.0.1, nuestro propio servidor! SI todo ha ido bien (seguro), verás esta página:

Página de inicio de Xampp
Página de inicio de Xampp

Es conveniente seguir las instrucciones básicas de seguridad. En principio, el usuario es root y la contraseña está vacía. Al ser un servidor local, de desarrollo, en principio no es demasiado grave, pero conviene tomar las medidas básicas de seguridad para evitar ataques desde el ‘exterior’.

Puedes ver todo el proceso de instalación (en inglés) en la siguiente dirección: http://www.apachefriends.org/en/xampp-windows.html#522. Un apunte interesante: también existe una versión de Xampp portable.


Instalación del entorno en Linux, distribución Ubuntu
Como os he dicho, es mi preferida. Existe un servidor web también de código libre que nos permite utilizar todo el ‘paquete’ desde una misma instalación. El entorno se denomina XAMPP, acrónimo de Apache, MySQL, PHP y Perl. La X inicial viene del sistema operativo, que puede ser cualquiera de los tres más utilizados que antes hemos comentado.  Para la instalación en Ubuntu utilizaremos LAMPP (Linux, Apache, PHP y Perl). Sólo necesitaremos loguearnos como superusuario en una sesión de la consola y escribir lo siguiente, tras loguearte como super usuario (sudo su):

root@ubuntuPC:/home/TU_USUARIO# apt-get install apache2 php5 libapache2-mod-php5

Descargará todos los paquetes necesarios para disponer de  el servidor Apache en nuestro PC  y PHP. Ahora instalaremos MySQL, el gestor de bases de datos:

root@UBUNTU:/home/TU_USUARIO# apt-get install mysql-server mysql-client php5-mysql

Con ello, ya disponemos de nuestro entorno LAMPP, bueno, en este caso LAMP (Linux, Apache, MySQL y PHP) , ya que Perl (la última P del acrónimo) no vamos a utilizarlo en principio. En este caso, la versión de PHP que hemos instalado es la 5. LA instalación de XAMPP para Linux se realiza en la carpeta /opt/lampp. Para iniciar el servicio, simplemente teclea en la consola: /opt/lampp/lampp start y accede a la página principal de Xampp., bueno, de LAMPP a través de la ruta local: http://localhost o http://127.0.01. Te aparecerá la página con el mensaje:

It works!

Te dejo todo el proceso de instalción de la página oficial de Apache Friends (recuerda, en inglés): http://www.apachefriends.org/en/xampp-linux.html#377

Bien, continuaremos…

Enlaces recomendados:
Manual oficial de instalación de PHP
Apache + PHP + MySql + PhpMyAdmin como módulo de Apache
Cómo instalar PHP en Windows
Instalación y configuración de PHP
Instalación de PHP en nuestro servidor
WebTaller – Aprender PHP – Instalación php en IIS

PHP: un comienzo, la definición

Y de paso, ¿qué podemos hacer con esta tecnología open source?

Logo oficial de PHP. Fuente: www.php.netPor algún sitio se debe comenzar, y qué mejor que por el principio: empezar a aprender desde el inicio, desde el desconocimiento y hacia el conocimiento, poco a poco, gradualmente, paso a paso. Esa es mi pequeña declaración de intenciones.

Y para comenzar, ¿qué mejor que una descripción de la tecnología que quiero tratar, PHP? Bien, veamos algunas definiciones primero. En la Red disponemos de todo lo necesario para iniciar esta pequeña aventura, hacia el conocimiento en mi caso y  en el vuestro, si partís del mismo sitio que yo. Vamos allá:

PHP – Wikipedia, la enciclopedia libre
Fuente: http://es.wikipedia.org/wiki/PHP
Wikipedia: PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools)…

¿Qué es PHP, cómo surgió y para qué se utiliza?
Fuente: http://www.nociondigital.com/webmasters/php-tutorial-que-es-php-como-surgio-y-para-que-se-utiliza-detalle-191.html
PHP es un lenguaje interpretado (script), pensado fundamentalmente para añadir funcionalidad a los servidores de páginas web. . .

Hay muchas definiciones más, pero bastará con estas por ahora. Una rápida búsqueda en Internet sobre PHP y veréis a lo que me refiero. Pero si tuviera que dar mi definición, diría esto: PHP es un lenguaje de script (guión) de código libre y multiplataforma que está especialmente indicado para crear aplicaciones web, aunque puede utilizarse para otros ‘menesteres’. Se ejecuta en el lado del servidor. Algunos ejemplos de su uso, entre mucho más: el CMS WordPress y la propia Wikipedia están realizados bajo PHP. Algo debe tener esta tecnología open source ¿no?…

PHP está pensado para que la curva de aprendizaje sea corta, es decir, podamos empezar a utilizarlo con relativa rapidez, aunque eso no implica que no sea muy versátil y disponga de un número muy considerable de funciones. Actualmente es uno de los lenguajes preferidos para la creación de proyectos web. Se lleva ‘a la perfección’ con MySQL.  el sistema también open source gestor de bases de datos que se ejecuta en el (también) popular servidor web Apache. De ambos tendremos que hablar también.

PHP está mantenido por PHP Group y su licencia de software libre.

No voy a escribir el típico ejemplo de Hola mundo! En su lugar, y aunque todavía no halla hablado de la sintáxis de PHP, muestro un ejemplo con dos páginas: una en HTML y la otra en PHP. La primera, enviar_nombre.html, dispone de un formulario con un campo nombre y un botón Enviar. Al pulsarlo, la acción del formulario lo enviará a una página PHP (recoger_nombre.php) en la que recogemos el valor de la variable y la mostramos. Aquí va el ejemplo:

Página en HTML denominada enviar_nombre.html:

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title> Enviar nombre </title>
</head>
<body>
<p>
Este fragmento de código es sólo HTML<br />
Escribe aquí tu Nombre:
</p>
<form action=”recoger_nombre.php” method=”post”>
<p>
<input type=”text” name=”nombre” /> <input type=”submit” value=”Enviar” />
</p>
</form>
</body>
</html>

Y esta es la página en PHP (.php) denominada recoger_nombre.php que recoge el valor del campo nombre del formulario de la página enviar_nombre.html:

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title> Recuperar nombre </title>
</head>
<body>
<p>En esta página php recogemos la variable enviada desde el formulario de la página enviar_nombre.html:</p><br />
<p>Gracias por decírmelo. Tu nombre es: <b><?php echo $_POST[‘nombre’]; ?></b></p>
</body>
</html>

Podéis probarlo desde aquí: enviar_nombre.html

Como véis, el código de PHP se embebe perfectamente dentro del de HTML. Se diferencia por estar entre las directivas de apertura<? y de cierre ?>, mejor si la de apertura muestra o declara el lenguaje de script que vamos a utilizar, quedando así: apertura <?php y la misma etiqueta de cierre anterior: ?>. Ya hablaremos más al respecto.

En el próximo post hablaré de la instalación de PHP dentro de un entorno de desarrollo, es decir, en un servidor local, para que hagamos todas las pruebas que queramos sin miedo a ‘romper nada’.

Lectura recomendada:
Conceptos básicos de PHP (PHP.net)

¡Hola, Aprendiendo PHP!

Bienvenido a WordPress. Esta es tu primera entrada. Edítala o bórrala, ¡y comienza a publicar! Bueno, lo haré un poquito más adelante ¿OK?