PHP Nociones básicas
De TW
- Este artículo ha sido reformateado automáticamente desde http://www.tejedoresdelweb.com/307/article-1067.html y su formato necesita ser revisado
En este documento se asume que ud. tiene acceso a un servidor web que soporta PHP. Para bajar e instalar php revise www.php.net, el sitio oficial de PHP. Ahí también se encuentra la documentación en la cual está basada este artículo.
Tabla de contenidos |
¿Cómo funciona PHP?
PHP es una extensión para servidores web. Lo que hace es ponerse "entre" el servidor y el cliente.
PHP toma código dentro de las páginas, lo ejecuta en el servidor y envía el resultado al cliente. El cliente no puede visualizar el código del programa, sólo su resultado. Además, por ser un lenguaje de scripting, los programas no se compilan, sino sólo se interpretan; esto significa que es más lento en ejecutarse que, por ejemplo, un programa en C, pero al mismo tiempo los cambios en el código PHP tienen efecto de inmediato.
No todos los archivos son interpretados por el plug-in de PHP, sino sólo aquellos que hayan sido definidos en la configuración del servidor como tales, puesto que la interpretación de código es un proceso que toma un tiempo mayor al que se emplea en enviar una página tal como está. Es común utilizar una o varias de las siguientes extensiones para informar al servidor que debe interpretarlas: .php, .phtml, .php3 y .php4.
Sintaxis Básica
Hello World
El código PHP normalmente se incluye así:
<?php echo("Hello World") ?>
Todas las instrucciones se separan de la instrucción siguiente con un ; (punto y coma), y se asume que el final de la inclusión de código limita instrucciones:
<?php echo( "hola" ) ?> <?php echo( "chao" ) ?>
<?php echo( "hola" ); echo( "chao" ); ?>
Comentarios
Los comentarios en PHP se pueden poner en varios formatos, de tipo C, C++ y Shell. Si bien se puede hacer, no es recomendable mezclar distintos tipos de comentario en un archivo, sino elegir una sintaxis y quedarse con ella durante todo el documento.
<?php
echo( "Hello World" )
/* comentario de
varias líneas */
// comentario de una línea
?>
Como en la mayoría de los lenguajes, no se pueden poner comentarios dentro de otros comentarios.
Variables y tipos de dato
Las variables son enteros, flotantes, strings, arreglos y objetos. Todos comienzan con un signo $ y a continuación un identificador ($a, $linea, etc.) que es sensible a mayúsculas y minúsculas.
Normalmente PHP elegirá un tipo apropiado de acuerdo al contexto para cada variable:
$a = 123; # entero
$a = 123.1; # flotante
$a = "abc"; # string
Los arreglos se denominan $arreglo[indice] en que indice puede ser un entero o un string. Esto permite crear fácilmente arreglos asociativos (tablas de hashing).
$a[0] = "aaa";
$a[1] = 22;
$edad["pedro"] = 30;
$edad["agustin"] = 35;
$direccion["pedro"] = "Las Pataguas 123";
Más información ... ver artículo sobre variables y tipos de dato. (falta enlace interno)
Strings
Sobre strings se define la concatenación $a . $b como operador. Para generar caracteres especiales se usa \:
echo "\n" # (newline)
echo "\"" # "
echo "\$" # $
echo "\\" # \
Funciones
Las funciones se declaran con function, independientemente de si retornan o no un valor.
function hola() { return "hola"; };
Argumentos
Los argumentos que se reciben son pasados por valor, es decir, se pasa una copia de cada argumento y la función no puede modificar los valores originales.
function incrementar($arg) { $arg = $arg + 1; echo( $arg ); };
$contador = 10;
echo( $contador ); # Imprime 10
incrementar($contador); # incrementar() Imprime 11
echo( $contador ); # Imprime 10
Alcance de Variables
Las variables se asumen locales a menos que se diga lo contrario.
$animal = "perro";
function animal1() {
$animal = "gato"; # Válido sólo dentro de animal1()
echo $animal; # Imprime "gato"
};
animal1();
echo $animal; # Imprime "perro" - animal1() alteró sólo su # variable local
Más información ... ver artículo sobre estructuras de control y funciones. (falta enlace interno)
Estructuras de Control
Las estructuras existentes son las típicas:
if () {} else {}
while() {}
do {} while()
for(;;) {}
switch() {}
if( $a > 0 ) { echo "positivo\n"; }
elseif( $a < 0 ) { echo "negativo\n"; }
else { echo "cero\n"; };
Tres formas del mismo ciclo, todas imprimen 10 veces hola pero el valor final de $a cambia:
$a = 1; while( $a++ < 10 ) { echo "hola\n"; }; # ($a==11)
for( $a=1;$a<10;$a++) { echo "hola\n"; }; # ($a==11)
$a = 1; do { echo "hola\n"; } while( ++$a < 10 ); # ( $a==10)
La sintaxis de switch es similar a la de C:
switch( $color ) {
case "blanco": echo "claro\n"; break;
case "negro": echo "oscuro\n"; break;
default: echo "otro\n"; };