Sintaxis,
Variables y Salida
PHP es bastante flexible, más que intentar ser estricto y forzar una
disciplina en la programación, enfatiza conveniencia para el programador más
que la corrección. El PHP tiene un conjunto mínimo de reglas que hay que
seguir, caso contrario podremos ver los mensajes de error tipo "Parser error in line XXX".
Sintaxis
La sintaxis del PHP es similar a la del lenguaje C, o sea, muy
sencilla. Si no sabe como escribir una instrucción, pruebe primero como lo
haría en C, y si no funciona acuda al manual.
PHP ignora los espacios en blanco
$valor=2+2;
es equivalente a
$valor <TAB>= 2 +
2;
o a
$valor =
2 +
2;
PHP es a veces sensitivo a mayúsculas-minúsculas
En algunos casos PHP no es sensitivo a las mayúsculas o minúsculas,
como en el caso de nombres de función o construcciones del lenguaje (if, then. else, while, for,
etc.), pero para otros sí que lo es, por ejemplo para nombres de variables.
<?
$total = 100;
print "El total es $total
<br>";
print "El total es $Total
<br>";
?>
La salida del programa anterior será:
El total es 100
El total es
Las sentencias son expresiones que terminan en punto y coma
La típica sentencia en PHP es una asignación:
$saludos = "Bienvenidos a
PHP";
Los bloques de construcción más pequeños son las palabras indivisibles, tal como números (2.718281), cadenas
("uno,
dos, tres"), variables ($saludos),
constantes (TRUE, FALSE)
y las construcciones que definen el lenguaje (if, then …). Estas
palabras se separan de las demás por espacios en blanco o caracteres especiales
que hacen de separador, como paréntesis, operadores, llaves, etc.
Los siguientes elementos en complejidad son las expresiones, que son una combinación de
palabras que tienen un valor. Las
expresiones más simples están formadas por una sola palabra, como un número o
una variable. Expresiones simples pueden ser combinadas con operadores para
formar expresiones más complejas, por ejemplo $variable + 2 * 3.
Evaluación de
expresiones
Cada vez que el intérprete encuentra una expresión, la expresión es
inmediatamente evaluada. Esto significa que el PHP primera evalúa los elementos
más pequeños y luego las combina y obtiene su resultado.
Por ejemplo en
$total = 2 * 3 + 4 * 5 + 6;
los pasos imaginarios de evaluación serán:
= 6 + 4 * 5 + 6
= 6 + 20 + 6
= 26 + 6
= 32
Finalmente el valor 32 es asignado a la variable $total.
Asignaciones
El tipo más común de expresión en la asignación, donde el resultado de
una expresión es almacenado en una variable. La forma es el nombre de la
variable, que comienza siempre con el símbolo $, seguido de un símbolo igual y
a continuación la expresión a evaluar.
$ocho = 2 + 2 + 2 +2;
Una cosa importante a recordar es que las asignaciones son expresiones
y por la tanto también tienen un resultado, el mismo que se asigna a la
variable:
$doce = 4 + ($ocho = 2 + 2+ 2+ 2);
Expresiones y
Sentencias
Normalmente hay dos razones para usar una expresión en PHP:
- por su valor,
- por su efecto secundario.
El valor de una expresión
es aquello que se pasa para la evaluación de expresiones más complejas, los efectos secundarioes es aquello que ocurre
como resultado de una evaluación. Los casos más típicos de efectos son la
asignación de resultados a una variable, imprimir algo en la pantalla del
usuario o cambiando valores en una base de datos.
Aunque las sentencias son expresiones, no están incluidas en
expresiones más complejas, lo que significa que la única razón para usar una
sentencia es el efecto secundario.
print("Hola"); // el efecto
secundario es imprimir en la pantalla
2 + 2 + 2; // no tiene sentido
$seis = 2 + 2+ 2; // el efecto secundario
es la asignación
Construcción de Bloques
Aunque las sentencias no pueden ser combinadas como las expresiones, se puede poner una
serie de sentencias en cualquier permitido agrupándolas con "{"
y "}".
Por ejemplo, la construcción if está formada por una verificación
(entre paréntesis) seguido de una sentencia que es ejecutada si la condición es
verdadera.
if ( 3 == 2+1)
print ("Si, es
tres!!!<br>");
Si queremos que se ejecuten varias sentencias en vez de una sola, lo
que hacemos es agrupar aquellas sentencias:
if ( 3 == 2+1) {
print ("Si, es
tres!!!<br>");
print ("y no era
cuatro.<p>");
}
El sangrado, aunque ignorado por el intérprete del PHP, es muy importante para la comprensión de
los programas.
Comentarios
Los comentarios son porciones del programa que se ponen sólo para
facilitar la comprensión de lectores, lo primero que hace el intérprete de PHP
es quitar todos los comentarios del programa. La forma de los comentarios en
PHP están heredados de varios lenguajes de programación muy usados en entornos
UNIX.
Comentarios Tipo C
/* Este es un comentario
* similar al del lenguaje C */
Hay que tener en cuenta que los comentarios de este tipo no pueden
estar anidados:
/* Este comentario /* dará unos
errores horribles en la última */ palabra */
Comentarios de una línea: // y #
Estos tipos de comentarios están heredados del C++, Java, Shell y Perl.
// esta es una línea
// esta es la segunda línea
# esto también es un comentario
# y también este último.
Variables
La forma principal de almacenar valores en el medio de un programa son
las variables. Las cosas más importantes a recordar son:
- Todas las
variables en PHP comienzan con el símbolo dólar $ (heredado del Shell y
Perl)
- El valor de
una variable es igual al valor más recientemente asignado.
- Las variables
son asignadas con el operado '=', con la variable a la izquierda del
operador y la expresión a evaluar a la derecha.
- Las variables
no necesitan ser declaradas antes de ser usadas.
- Las variables
no tienen un valor intrínseco, sino que toman el tipo del último valor
asignado.
- Las variables
que se usan antes de ser asignadas tienen un valor por defecto.
Verificación de asignación previa
Se puede verificar que una variable haya sido previamente asignada con
la función IsSet():
if(IsSet($a))
print ("la variable tiene el valor
$a");
else
print ("la variable a no ha sido
asignada");
Ámbito de las variables
El ámbito (scope) es el
término técnico para definir el comportamiento de un nombre, función o
variable, dentro de un programa. Puede darse el caso que el nombre tenga el
mismo comportamiento y significado en todo el programa (global) o que el mismo
nombre se comporte de manera diferente en distintas partes del programa. En este
último caso decimos que el ámbito de esas variables es local.
En PHP, cualquier variable que no esté dentro de una función tiene
ámbito global y su valor se encuentra disponible en toda la extensión de la
ejecución del programa. En otras palabras, si se asigna un valor a una variable
al principio del programa, el nombre de la variable tiene el mismo significado
para el resto del programa y tendrá siempre el mismo valor.
La asignación de un valor a una variable no afectará a las variables
con el mismo nombre en la ejecución del PHP de otras páginas ni tampoco a la
ejecución del mismo programa PHP cuando es invocado por conexiones diferentes.
La pregunta de si una variable persiste a través de las diferentes
etiquetas PHP, es decir si se puede salir del modo PHP, volver a entrar luego y
usar las mismas variables con los mismos valores de una asignación previa. Si,
no hay problemas.
ejemplo5.phtml
<html>
<head>
<? $nombre = "Ricardo"; ?>
<title>Saludos</title>
</head>
<body>
<p>
<? print ("Hola, soy $nombre"); ?>
</p>
</body>
</html>
Salida
La mayoría de las construcciones del PHP se ejecutan silenciosamente,
es decir no producen ninguna salida hacia la pantalla del usuario. Si se desea
enviar texto al navegador del usuario se deben usar las funciones de salida.
Echo y print
Las dos construcciones básicas para generar salida son echo y print. Aunque al
principio su sintaxis puede parecer un poco confusa (como en los ejemplos
vistos hasta ahora), esto se debe a que son construcciones básicas del lenguaje
y no funciones, por lo tanto se puede o no
usar paréntesis.
echo "Hola mundo";
echo ("Hola Mundo");
print "Hola mundo";
print ("Hola mundo");
print (3.1415926);
Variables y Cadenas
Se pueden usar echo
y printf
para imprimir de forma combinada cadenas y variables.
ejemplo6.phtml
<html>
<head>
<title>Animales</title>
</head>
<body>
<?
$animal = "cabra";
$lugar = "montañas";
$patas = 4;
print ("La $animal vive en las $lugar y tiene cuatro patas<br>");
?>
</body>
</html>
Comillas simples vs. comillas dobles
Es uso de las comillas simples o dobles cambia el comportamiento. Si,
como en el ejemplo anterior, se usan comillas dobles, el PHP interpolará
(cambiará) los nombres de variables que encuentre por su valor. En cambio si se
usan comillas simples, el PHP lo tomará con una cadena que debe imprimirse tal
cual han sido escritas.
ejemplo7.phtml
<html>
<head>
<title>Animales</title>
</head>
<body>
<?
$animal = "cabra";
$lugar = "montañas";
$patas = 4;
print ('La $animal vive en las $lugar y tiene cuatro patas<br>');
?>
</body>
</html>
Lo que producirá el siguiente resultado:
La $animal vive en las $lugar y tiene
cuatro patas
Printf
Es posible generar una salida con formatos más complejos mediante el
uso de la función printf,
con una sintaxis similar al lenguaje C o Perl.
ejemplo8.phtml
<html>
<head>
<title>Animales</title>
</head>
<body>
<?
$animal = "cabra";
$lugar = "montañas";
$patas = 4;
printf( "El %s vive en las %s y tiene %d patas<br>", $animal, $lugar, $patas);
?>
</body>
</html>
|