Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin al PHP
Febrero-2006
Programacion en Lenguaje PHP
I- Aspectos Generales
Orgenes PHP (Personal Home Page), 1994, inventado por Rasmus Lerdof. Basado en scripts desarrollados en perl, luego reescritos en C. Versin actual PHP5 (sept 2004), presente en 20% de servidores web en internet. 6 lenguaje mas utilizado (C,Java, C++, VB, Perl)
I- Aspectos Generales
Necesidades para programar en PHP
PC Sistema Operativo: Linux, Unix, Microsoft Windows, Mac OS X ...
AppServ Open Project 2.4.5 (MySQL, Apache y PHP)
Servidor Web: Editor de Texto Plano: Apache, IIS, WPS Notepad. Vi, Edit... NotePad++
Apache
Interprete de PHP
Intrprete PHP
I- Aspectos Generales
Primer programa en PHP
< HTML> < HTML> <HEAD> <HEAD> <TITLE>Primer Programa</TITLE> <TITLE>Primer Programa</TITLE> </HEAD> </HEAD> <BODY> <BODY> <?PHP <?PHP echo Mi primer programa; echo Mi primer programa; ?> ?> </BODY> </BODY> </HTML> </HTML> Programa1.php
I- Aspectos Generales
Cmo incrustar cdigo en PHP
Forma ms recomendable
Siempre disponible (no depende de configuracin del Servidor. Especfica de PHP. nica que permite incrustar cdigo PHP en XML y XHTML
Otras formas
<SCRIPT LANGUAGE=php> ......................................... ............... ......................................... ............... </SCRIPT> <? ..................... ........ ..................... ........ ?> <% ..................... ........ ..................... ........ %>
I- Aspectos Generales
Cmo incrustar cdigo en PHP
<?php <?php if ($x<0) { if ($x<0) { $y=1; $y=1; echo Nmero echo Nmero negativo; negativo; } } else { else { $y=2; $y=2; echo Nmero echo Nmero positivo; positivo; } } ?> ?>
<?php <?php if ($x<0) { if ($x<0) { $y=1; $y=1; ?> ?> Nmero negativo Nmero negativo <?php <?php } } else { else { $y=2; $y=2; ?> ?> Nmero positivo Nmero positivo <?php <?php } } ?> ?>
Los scripts pueden ser divididos en bloques y escribir entre ellos HTML puro.
10
11
12
//equivale a //equivale a
13
Asignacin de variables:
<?PHP <?PHP $x=5; $x=5; $y=3; $y=3; echo x=$x<BR>y=$y; echo x=$x<BR>y=$y; $x=5*$x*$y; $x=5*$x*$y; echo x=$x<BR>y=$y; echo x=$x<BR>y=$y; ?> ?>
14
is_float() determina si contiene un nm. en coma flotante. is_int() determina si contiene un nmero entero. is_object() determina si hace referencia a un objeto. is_string() determina si contiene una cadena de caracteres.
Programacion en Lenguaje PHP 15
empty() Permite saber si una variable que existe tiene un valor nulo o vaco
16
El programador puede forzar la conversin de una variable de dos formas Mediante el uso de la funcin settype() $b=settype($a, string); Mediante el operador de conversin $b=(integer)$a; tambin llammado cast
17
Variables globales:
Se conocen en todo el programa documento Se declaran fuera de las funciones Existen en todo el documento, incluso si hay varios scripts. Pueden ser referenciadas dentro de una funcin solo si se declaran como global dentro de la funcion.
Programacion en Lenguaje PHP 18
Parmetros formales:
Si una funcin utiliza argumentos, debe declarar las variables que van a aceptar los valores de los argumentos (parmetros formales). Se comportan como var. locales
Programacion en Lenguaje PHP 20
21
22
23
24
<?PHP $edad=54; <?PHP $edad=54; echo mi edad es $edad<BR>; echo mi edad es $edad<BR>; echo mi edad es ..$edad .. echo mi edad es $edad <BR>; <BR>; echo <<<TEXTO echo <<<TEXTO mi edad es $edad<BR> mi edad es $edad<BR> TEXTO; ?> TEXTO; ?>
26
27
28
29
30
nota: variable >> nmero posiciones en bits /* dividir */ variable << nmero posiciones en bits /*multiplicar */
32
operador ` (ejecucin)
la expresin encerrada entre acentos debe ser tratada como una sentencia a ejecutar directamente por el sistema operativo Ejemplo <?php $x=`dir`; echo <pre> $x </pre>; ?> /* genera una pagina web con el contenido del directorio donde est */
Programacion en Lenguaje PHP 34
35
Resumen de precedencias:
Mayor () [ -> . ++ --(cast), @ */% +. (concatenacion) << >> << = >> = ==, ! =, === &, ^, |,&&,|| condicional asignacion and, or, xor Menor I-D D-I I-D (aritmticos) I-D (aritmticos) I-D I-D (relacionales) I-D (relacionales) I-D (relacionales) I-D (lgicos) I-D I-D (lgicos)
36
37
En php cualquier valor distinto de 0 se considera true, 0 se considera falso. Sentencia. Puede ser simple, bloque o ninguna.
41
if anidado
Es una variante del if consistente en una sentencia if objeto de otro if o else. En PHP, al igual que en C, el else est asociado al if ms prximo que no tenga sentencia else asociada
42
43
Sintaxis alternativa: PHP admite sintaxis alternativa para delimitar el bloque (til para fraccionar una estructura en dos scripts)
if (condicion) : sentencia1; .. sentencian; endif;
Programacion en Lenguaje PHP 44
45
48
for
forma general for (inicializacin; condicin; incremento) sentencia; Descripcin inicializacin-> sentencia de asignacin para iniciar variable de control de ciclo. condicin -> expresin relacional. incremento -> determina como cambia la variable de control.
49
do-while
analiza la condicin a final del ciclo. forma general do { sentencia; } while (condicion);
Descripcin el bucle itera hasta que la condicin se hace falsa.
50
Sentencia incorporada en la versin php 4.0. (*) Permite recorrer todos los elementos de un array de una forma muy simple. En la primera iteracin la variable contendr el valor del primer elemento del array nombre_array en las siguientes iteraciones los sucesivos valores hasta recorrer todos los elementos del array
51
for (inicializacin; condicin; modificacin) : sentencia(s) a ejecutar si se cumple la condicin endfor; do { sentencia(s) a ejecutar si se cumple la condicin } while (expresin);
Programacion en Lenguaje PHP 52
Dentro de un bucle, ambas sentencias admite el uso de un parmetro opcional que indica: Nmero de estructuras de control de las que hay que salir o Nmero de niveles a saltar para continuar la ejecucin (break n; continue n;).
53
de bloque grupo de sentencias relacionadas que se tratan como una unidad Los bloques comienzan con { y concluyen con } Se pueden colocar en cualquier punto de programa
Programacion en Lenguaje PHP 54
55
57
function Potencia ($base, $exp) { $p=1; for ($i=1;$i<=$exp;$i++) $p=$p*$base; return $p; }
?> <HTML> <HEAD> <TITLE> Ejemplo de potencias </TITLE> </HEAD> <BODY> <? PHP
$b1=2; $b2=-2; for ($i=0;$i<10; $i++) { echo potencia($b1,$i); echo potencia($b2,$i); echo potencia(potencia($b1,$b2),$i); } ?>
</BODY> </HTML>
Programacion en Lenguaje PHP 58
59
function suma () { $n=func_num_args(); $aux=0; for ($i=1;$i<$n;$i++) $aux += func_get_arg($i); return aux; } print suma (2,5,6). <BR>; print suma (1,5,7,2). <BR>; print suma ().<BR>; ?> Resultado: 13 15 0
60
62
64
66
67
68
70
72
(*) Se vern en los correspondientes captulos Todo en http://www.php.net Otras referencias especficas de inters:
http://www.interec.com/tutoriales/manuales/php.phtml
Programacion en Lenguaje PHP 73
74
75
Transformacin de los ndices array_change_key_case (array, caso) Subdivisin array_chuck (array, dimensin, valor_booleano) Contabilizacin de elementos array_count_values (array) count (array)
77
79
V- ARRAYS Introduccin
Un array es una coleccin de datos que se referencian con un nombre comn En PHP los datos pueden ser de diferente tipo A cada elemento especifico del array se accede mediante un ndice No es necesario determinar la dimensin antes de inicializarlo Existen multitud de funciones que permiten la gestin y manipulacin de arrays. Constan de posiciones de memoria consecutivas; la direccin mas baja es la del primer elemento Pueden tener una o varias dimensiones
Programacion en Lenguaje PHP 80
V- ARRAYS conceptos
Arrays unidimensionales son en esencia listas de informacin heterognea guardadas en posiciones contiguas de memoria
formatos y ejemplos de uso $nombre_variable[indice]=valor; valor= contenido del elemento indce= elemento del array nombre_variable= identificador del arrary
81
V- ARRAYS conceptos
Ejemplo.4.1.1- //Array lineal de 4 elementos
V- ARRAYS conceptos
Arrays multidimensionales es un array cuyos elementos son a su vez nuevos arrays
formatos y ejemplos de uso $nombre_variable[indice1][indice2]..[indic eN]= valor;
Ejemplo.4.2.1- //Array de 2x2 elementos
$X=array(array(1,0),array(-1,-2));
83
V- ARRAYS conceptos
Aspectos varios: La funcion print_r ( ) muestra los elementos de un array La manipulacin de los elementos requiere uso de sentencias iterativas (foreach, for, etc.) Funciones para manipulacin de arrays (ver captulo III) La manipulacin de los elementos requiere uso de sentencias iterativas (foreach, for, etc.)
84
Cierre de conexin
mysql_close (identificador) En caso de no poner el identificador se cerrar la ltima conexin abierta. La funcin devuelve un valor entero, que ser nulo si se produce algn error en el proceso.
85
86
El identificador de la conexin es opcional. En caso de no utilizarlo se utilizar la ltima conexin abierta. Si se produce un error, la funcin devolver valor 0. Una vez seleccionada la base de datos, sta pasa a ser la base de datos activa, y cualquier operacin posterior se dirigir a ella. Para cambiar de base de datos se deber volver a utilizar la funcin antes de cerrar la conexin.
87
89
90
$c = mysql_connect (localhost, root, ); $c = mysql_connect (localhost, root, ); mysql_select_db (Compras, $c); mysql_select_db (Compras, $c); $strSQL= SELECT **FROM Articulos;; $strSQL= SELECT FROM Articulos;; $rs = mysql_query ($strSQL, $c); $rs = mysql_query ($strSQL, $c); while ($registro = mysql_fetch_row($rs)) {{ while ($registro = mysql_fetch_row($rs)) print(Codigo: $registro[0].<br>); print(Codigo: $registro[0].<br>); print(Articulo: $registro[1].<br>); print(Articulo: $registro[1].<br>); print(Descripcin: $registro[2].<br>); print(Descripcin: $registro[2].<br>); print(Precio: $registro[3] euros.<br>); print(Precio: $registro[3] euros.<br>); }} mysql_close ($c); mysql_close ($c);
91
92