6
Variables
7
Constantes
8
Operadores
9
Comparaciones
10
1. Introducción a PHP
PHP es el acrónimo de Hypertext Preprocessor. Es un lenguaje de
programación multiplataforma ejecutado del lado del servidor, es
rápido, con una gran variedad de bibliotecas de funciones y
documentación amplia en línea.
Un lenguaje del lado del servidor es aquel que se ejecuta en el
servidor Web, donde es procesada la página para posteriormente ser
enviada al navegador Web del cliente.
El cliente solamente recibe una página Web con código HTML
resultante de la ejecución del intérprete (o compilador) de
PHP.
Nota: Puede contener algunos scripts de otros lenguajes
(Javascript, Applets, etc.)
Taller de PHP
La página HTML se envía al cliente
Solicita una página al servidor
Es una página PHP
PHP = PHP: Hypertext Processor
Versión actual: PHP 5
Es un módulo que se añade al servidor Web y fue concebido
inicialmente para Apache
Más información http://mx2.php.net/manual/es/faq.general.php
¿Por qué PHP?
Por sus ventajas: es simple, fácil de aprender, de libre
distribución, permite el acceso a bases de datos y otras
funcionalidades orientadas a la red
Dispone de abundante soporte en la Web
Taller de PHP
Manuales de PHP y MySQL
Taller de PHP
PHP Versión 1 (primer semestre 1995)
PHP Versión 2 (1995-1997)
PHP Versión 3 (1997-2000)
PHP Versión 5 (primer semestre 2004)
Equipo de Desarrollo (195 personas con acceso a CVS)
Zeev Suraski y Andi Gutmans (Israel)
Shane Caraveo (Florida)
Stig Bakken (Norway)
Jim Winstead (Los Angeles)
Sam Ruby (Raleigh, NC)
Rasmus Lerdorf (San Francisco)
Adabas D
Taller de PHP
Delimitadores
Forma 4:
<% Código fuente %>
Los otros dos se pueden activar/desactivar al compilar PHP.
Taller de PHP
Inician con el signo ‘$’ seguido de una letra del alfabeto.
Distinguen de mayúsculas y minúsculas.
Automáticamente se realiza el cambio de un tipo de datos a
otro.
$a = 123567.89;
6.1 Ámbito de variables.
En el cuerpo de un archivo, las variables son GLOBALES al archivo y
archivos incluidos.
En una función, son LOCALES a esa función, siempre y cuando no se
mande llamar una variable global previamente definida.
Dentro de una clase, sólo pueden ser accedidas a través del
operador “->” sobre el nombre del objeto.
Taller de PHP
Se puede eliminar una referencia con la función unset():
Taller de PHP
Objetos:
$MiVar = new MiClase();
Nota: los arreglos pueden ser n-dimensionales y contener todo tipo
de datos.
Taller de PHP
$Arreglo2 = array(
0 => 1,
1 => “hola”,
2 => 5,
3 => 8,
“nombre” => “Fernando”
Secuencia
Significado
Taller de PHP
Para concatenar cadenas se utiliza el operador ‘.’ :
Se puede acceder a cada carácter como si fuera un array:
$cad = “A esta cadena”;
$cad2 = “Tercer carácter de $cad :”.$cad[2];
Taller de PHP
// Ver ejemplo:6-7_CadenasComparacion.php
$a="Hola";
$b="hola";
echo "Valor = $valor <br>";
echo "Valor2 = $valor2 <br>";
[, int tamaño])
echo "Str: $str<br>";
$str = substr('abcdef', -2); // ef
echo "Str: $str<br>";
echo "Str: $str<br>";
echo "Str: $str<br>";
$str = substr('abcdef', 2, 3);
echo "EL substring de long. 3 a partir de la posicion 2 es: $str
<br><br>";
echo "substr('abcdef', -2) <br>";
$str = substr('abcdef', -2);
echo "EL substring a partir de la posicion 2 desde la derecha es:
$str<br><br>";
echo "substr('abcdef', -2, 1)<br>";$str = substr('abcdef',
-2, 1);
echo "EL substring a partir de la posicion 2 desde la derecha es:
$str <br><br>";
echo "substr('abcdef', 1, -2)<br>";$str = substr('abcdef', 1,
-2);
?>
[, int inicio])
//Ver Ejemplo 6-10_CadenasSubcadenas.php
echo "i= $i<br>";
echo "i= $i<br>";
echo "s= $s<br>";
echo "s= $s<br>";
// $s = dena de prueba
Las constantes se definen con la función define():
Las constantes en PHP se diferencian de las variables en que:
No llevan el símbolo del dólar delante.
Puede accederse a ellas desde cualquier parte del código donde han
sido definidas, sin restricciones de ámbito como en las
variables.
No pueden ser redefinidas o borradas una vez definidas.
Sólo pueden contener valores escalares, no vectores.
//Ver Ejemplo 7_Constantes.php
int define(string nombre, mixed valor [, int noMayusculas])
Donde nombre es el nombre que le queremos dar a la constante, valor
su valor, y el campo opcional noMayusculas indica si está a 1 que
podemos acceder a la variable independientemente con mayúsculas o
minúsculas, mientras que si está a 0 (valor por defecto) sólo
podremos acceder a ella de la misma forma como la hayamos
definido.
Taller de PHP
$modulo=$b%$a;
echo "Suma a+b: $suma <br> Resta a-b:
$resta<br>";
echo "Multiplicación a*b: $multiplicacion <br> División b/a:
$division<br>";
echo "Modulo b%a: $modulo<br>";
Operación
Nombre
Resultado
$a - $b
$a * $b
$a / $b
$a % $b
Taller de PHP
$a++
Post-incremento
--$a
Pre-decremento
$a--
Post-decremento
Taller de PHP
$a or $b
$a xor $b
Cierto si $a o $b es cierto, pero no ambos.
! $a
No
$a && $b
$a || $b
Taller de PHP
Operación
Nombre
Resultado
Asignación
Asigna el valor de una variable o expresión del segundo término a
la variable del primer término.
$a == $b
Igualdad
Compara si el valor de los dos operandos es el mismo.
$a === $b
Identidad
Compara si el valor es el mismo y, además, el tipo coincide.
Taller de PHP
($var1 == $var3) // Son iguales (tras conversión)
($var1 === $var2) // Cierto, son idénticas
($var1 === $var3) // FALSO, el tipo no coincide
Taller de PHP
$a != $b
No igual
Cierto si el valor de $a no es igual al de $b.
$a !== $b
No idéntico
Cierto si $a no es igual a $b, o si no tienen el mismo tipo.
$a < $b
Menor que
$a > $b
Mayor que
$a <= $b
$a >= $b
Taller de PHP
{
//If
echo "Ejemplo de if.. else..<br>";
if($a==$b){
}else{
}
if($a>$c){
}elseif($a<$c){
}else{
}
echo "Inicio <br>";
echo "$i<br>";
echo "Inicio <br>";
echo "$i<br>";
echo "Inicio <br>";
echo "Inicio <br>";
foreach ($a as $v)
}
Taller de PHP
{
}
$op=$b;
break;
break;
break;
break;
{
$suma=suma($a,$b);
echo "La suma de \$a = $a y \$b = $b es $suma<br>";
holaMundo();
La sentencia include(arch) incluye y evalúa el archivo
especificado.
La sentencia require(arch) se sustituye a sí misma con el archivo
especificado tal y como funciona la directiva #include de C.
El intérprete sale del modo PHP y entra en modo HTML al principio
del archivo referenciado, y vuelve de nuevo al modo PHP al
final.
Include() se re-evalúa cada vez que se encuentra (y sólo cuando
está siendo ejecutada)
require() siempre leerá el archivo referenciado, incluso si la
línea en que está no se ejecuta nunca (condicional).
Taller de PHP
15. Variables de Sistema
$HTTP_USER_AGENT Nos informa principalmente sobre el sistema
operativo y tipo y versión de navegador utilizado por el usuario.
Su principal utilidad radica en que, a partir de esta información,
podemos redireccionar nuestros usuarios hacia páginas optimizadas
para su navegador o realizar cualquier otro tipo de acción en el
contexto de un navegador determinado.
$HTTP_ACCEPT_LANGUAGE Nos devuelve la o las abreviaciones de la
lengua considerada como principal por el navegador. Esta lengua o
lenguas principales pueden ser elegidas en el menú de opciones del
navegador. Esta variable resulta también extremadamente útil para
enviar al internauta a las páginas escritas en su lengua, si es que
existen.
$HTTP_REFERER Nos indica la URL desde la cual el internauta ha
tenido acceso a la página. Muy interesante para generar botones de
"Atrás" dinámicos o para crear nuestros propios sistemas de
estadísticas de visitas.
Taller de PHP
15. Variables de Sistema
$PHP_SELF Nos devuelve una cadena con la URL del script que está
siendo ejecutado. Muy interesante para crear botones para recargar
la página.
$HTTP_GET_VARS Se trata de un array que almacena los nombres y
contenidos de las variables enviadas al script por URL o por
formularios GET
$HTTP_POST_VARS Se trata de un array que almacena los nombres y
contenidos de las variables enviadas al script por medio de un
formulario POST
$HTTP_COOKIES_VARS Se trata de un array que almacena los nombres y
contenidos de las cookies. Veremos qué son más adelante.
Taller de PHP
15. Variables de Sistema
$PHP_AUTH_USER Almacena la variable usuario cuando se efectúa la
entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_PW
resulta ideal para controlar el acceso a las páginas internas del
sitio.
$PHP_AUTH_PW Almacena la variable password cuando se efectúa la
entrada a páginas de acceso restringido. Combinado con
$PHP_AUTH_USER resulta ideal para controlar el acceso a las páginas
internas del sitio.
$REMOTE_ADDR Muestra la dirección IP del visitante.
$DOCUMENT_ROOT Nos devuelve el path físico en el que se encuentra
alojada la página en el servidor.
$PHPSESSID Guarda el identificador de sesión del usuario. Veremos
más adelante en qué consisten las sesiones.
Taller de PHP
// Ver Ejemplo: 15_1-VariablesSistema.php
Nombre: <input type=text name=nombre><br>
Edad: <input type=text name=edad><br>
<input type=submit>
}
}
<option value=Cine>Cine </option>
<option value=Teatro>Teatro </option>
<option value=Televisión>Televisión </option>
<option value=Futbol>Futbol </option>
<option value=Otros>Otros </option>
</select>
</form>
foreach($Hobbies as $hobbie)
$i++;
16.3 Pasar Variables por la URL
Para pasar las variables de una página a otra lo podemos hacer
introduciendo dicha variable dentro del enlace hipertexto de la
página destino. La sintaxis sería la siguiente:
<a href="destino.php?var1=valor1&var2=valor2&...">Mi
enlace</a>
Estas variables no poseen el símbolo $ delante. Esto es debido a
que en realidad este modo de pasar variables no es específico de
PHP
Taller de PHP
//Ver ejemplo: 16_4-VariableUrl.php
echo "Ejemplo de cómo pasar una variable por url<br>";
echo "<br><a
href=$PHP_SELF?valor1=10&valor2=20>Valores
A</a><br>";
echo "<br><a
href=$PHP_SELF?valor1=15&valor2=31>Valores
B</a><br>";
if ($valor1) {
}
}
17. Sesiones y Cookies.
Una sesión es una cantidad de información que se almacena dentro
del servidor con un identificador único de usuario.
Éste id es enviado autómaticamente al usuario por medio de
cookies.
Dentro de ésta sesión se puede almacenar los valores de las
variables y disponer de ellas en cualquiera de las páginas en las
que se inicie una sesión.
Una ventaja extra es que al cambiar el valor de las variables,
automáticamente cambia su valor para la sesión.
Taller de PHP
echo "<br><a
href=17_1B-Sesiones.php>17_1B-Sesiones.php</a>";
?>
?>
time() + 3600);
[, int fin [, string camino
[:/camino/al/socket]
[:/camino/al/socket]
Ejemplo.
}
}
[, int identificador])
creditos, tipo
FROM asignatura";
}
‘r+’ Lectura/escritura. Puntero al inicio.
‘w’ Sólo escritura. Se trunca el archivo.
‘w+’ Lectura/escritura. Se trunca el archivo.
‘a’ Sólo escritura. Puntero al final.
‘a+’ Lectura/escritura. Puntero al final.
int fopen (string nombre, string modo
[, int include_path])
[, int tamaño])
int unlink (string archivo)
int rmdir (string nombre)
int opendir (string nombre)
string readdir (int identificador)
void closedir (int identificador)
archivo: <INPUT NAME="archivo" TYPE="file">
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
echo "Recibido el archivo: ".$archivo_name."<br>\n"; echo
"Tamaño del archivo: ".$archivo_size."<br>\n"; echo "Tipo
mime: ".$archivo_type."<br>"; rename($archivo,
$archivo_name);
Taller de PHP
archivo: <INPUT NAME="archivo" TYPE="file">
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
echo "Recibido el archivo: ".$archivo_name."<br>\n"; echo
"Tamaño del archivo: ".$archivo_size."<br>\n"; echo "Tipo
mime: ".$archivo_type."<br>"; @rename($archivo,
$archivo_name);
Taller de PHP
$a - $b
$a * $b
$a / $b
$a % $b
Operación
Nombre
Resultado
++$a
Pre-incremento
$a (incrementado).
incrementa en 1.
lo devuelve.
incrementa en 1.
$a or $b
$a xor $b
ambos.
! $a
No
$a && $b
$a || $b
Operación
Nombre
Resultado
expresión del segundo término a la
variable del primer término.
operandos es el mismo.
además, el tipo coincide.
Cierto si el valor de $a no es igual al
de $b.
$a !== $b
No idéntico
Cierto si $a no es igual a $b, o si no
tienen el mismo tipo.
que $b.
$a > $b
Mayor que
que $b.
$a <= $b
$a >= $b