Sunteți pe pagina 1din 19

CAPITULO III PHP

PHP (PHP Hypertext Preprocessor) es una lenguaje de programacin interpretado de alto nivel, caracterizado por poder insertarse embebido en paginas HTML y ejecutado en el servidor web. Creado en 1994 con el nombre de Personal Home Page, por Rasmus Lerdorf, cuya intencin era crear un sistema de control para verificar el numero de personas que lean su curriculum en la web [CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5] Para insertar cdigo php dentro de una pagina que contiene HTML se usan de manera regular las etiquetas <?php ?> o simplemente <? ?> dependiendo la configuracin del php.ini. Es importante mencionar que la versin de php con la que se trabajo es la 5.3.3 y la informacin consultada en los libros hablan de versiones de php 5 o superiores.

3.1. Tipos de datos en PHP


Los lenguajes de programacin trabajan diferentes tipos de datos para almacenar en memoria la informacin que estn trabajando, a continuacin veremos como trabaja PHP con los datos.

3.1.1. Variables Las variables en PHP siempre inician con el smbolo $, adems de que estas no necesitan haber sido declaradas antes de la ejecucin del programa. Los tipos de variables que trabaja PHP de acuerdo al autor Luid Miguel Cabezas Granados se listan a continuacin. Existen varios tipos de variables:
Entero (integer): Almacena nmeros sin decimales. Se puede utilizar la notacin decimal (83), octal (0123) o hexadecimal (0x12). Coma Flotante (double): Nmeros con decimales. Carcter (string): Texto o informacin numrica escrita entre comillas dobles ("") o simples (''). Boleano (boolean): Slo tiene dos posibles valores: Verdadero o Falso. Nulo (NULL): Es un tipo especial que solo contiene un valor: NULL. Vectores (array): Colecciones de datos. Objetos (object): Conjunto de datos y funciones independientes.1

Es importante tomar en cuenta que los nombres de la variables no pueden comenzar con un numero sin embargo si pueden contenerlos (ejemplo $var1), adems de que PHP es sensible a las maysculas y minsculas, por ejemplo las variables $var, $VAR y $VaR serian reconocida por PHP como diferentes variables, un dato interesante es que no se necesita declarar el tipo de dato que se va a almacenar en una variable, PHP lo decide en tiempo de ejecucin. [CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5]

CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5 pg. 56

Sin embargo si se requiere que PHP trate una variable como un tipo de dato en concreto se le puede indicar, por ejemplo $num = 243, el numero 243 ser tratado como un dato cadena o bien se puede forzar el uso de tipo mediante la funcin settype(), cuya sintaxis es: settype (nombre de la variable, tipo de dato que contendr la variable) En donde los valores del tipo de dato son los mencionados anteriormente: boolean, integer, float(double), string, array, object y null. [php.net, , 2011] Enteros (integer) Corresponde a un nmero entero sin decimales, pudiendo ser negativo o el nmero cero. Pueden ser
almacenados en diferentes formatos correspondiendo con las bases decimal (base 10), octal (base 8) y hexadecimal (base 16). Por defecto se utiliza la numeracin decimal. Para utilizar base 8 debe ponerse un 0 delante del nmero asignado y un 0x si queremos utilizar base 16. Para aadir un nmero negativo basta con poner el signo menos (-) delante del nmero.2

De acuerdo a la definicin del autor del libro Manual Imprescindible de PHP 5, se toman en cuenta los nmeros pertenecientes al conjunto Z={,-3,-2,-1,0,1,2,3} y las bases octal y hexadecimal, el valor mximo de un entero depender de la plataforma, por ejemplo en una plataforma de 32 bits seria usual dos billones mientras que en una de 64 bits seria de 9E18.[php.net, , 2011]

CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5 pg. 58

De coma flotante Tambin conocidos como nmeros reales, de acuerdo al libro PHP 5 Power Programming, represent real numbers and are equivalent to your platform C compilers double
data type. On common platforms, the data type size is 8 bytes and it has a range of approximately 2.2E308 to 1.8E+308. Floating-point numbers include a deci-mal point and can include a +/- sign and an exponent value3

Algunos ejemplos de nmeros reales son 1.23, -0.534, +0.6E-2, la letra E del exponente puede ser escrita tanto en minscula como en mayscula es decir tanto 1.2e3 como 7E-10 son validos [php.net, , 2011] Boleano Este tipo de datos solo puede contener dos valores TRUE o FALSE (verdadero o falso), su uso es regularmente en condiciones, los valores de enteros o decimales positivos y negativos son considerados verdaderos, pero no se recomienda el uso de nmeros de coma flotante, mientras que el numero 0 se considera falso. En la tabla 1.1 se muestra los valores boleanos equivalentes de los diferentes tipos de datos.
Tabla 3. 1 Valores

boleanos de los diferentes tipos de datos


Valores Falsos 0 Valores Verdaderos Todo los valores que no sean cero

Tipo de Dato Entero

Punto Flotante

0.0

Todo los valores que no sean cero

GUTMANS, Andi et. all.: PHP 5 Power Programming pg. 19

Cadena

Cadenas vacias () Cadena cero () 0

Todas las dems cadenas

Null Arreglo

Siempre Si no contienen ningun

Nunca Si contiene al menos un

elemento Objeto Nunca

elemento Siempre

Recurso

Nuca

Siempre

Fuente: GUTMANS, Andi et. all.: PHP 5 Power Programming Null Este tipo de dato contiene un nico valor, null (nulo), puede ser utilizado para diferenciar entre una cadena vaca y los valores nulos de una base de datos, entre otras funciones. Vectores (Arreglos) Citando al autor Abraham Gutierrez, Los arreglos o matrices son estructuras que permiten
el almacenamiento de un conjunto de datos bajo un mismo nombre; son una construccin tradicional de los lenguajes de programacin. Podemos definir un array o matriz como un conjunto ordenado de elementos identificados por un ndice (la posicin del elemento dentro de esta coleccin ordenada), de modo que en cada posicin marcada por un ndice el array contiene un valor.
4

Los arreglos son bastante tiles cuando se quiere almacenar datos provenientes de alguna estructura de control (for, while), solo se tendra que cambiar el ndice de la variable para guardar en una localidad nueva otro valor por ejemplo ir almacenando en la variable $arr,
4

GUTIERREZ, Abraham: PHP 5 A travs de ejemplos pg. 37

los valores 1,2,3 se tendra que indicar en que localidad de la variable se quieren almacenar as que se asignaran de la siguiente manera: $arr[0]=1, $arr[1]=2, $arr[2]=3. Es importante tomar en cuenta que los nmeros de la localidades de los arreglos empiezan desde 0 as que el numero de localidades totales seria N-1, es decir si se quieren 8 localidades la numeracin de esta seria: 0,1,2.6,7. Objetos Los objetos se forman a partir de un conjunto de datos y funciones independientes. Estos estn formados por clases las cuales contienen funciones y variables estas se definen mediante la palabra reservada class, seguida del nombre de la clase, ejemplo: class nueva_clase() { var $var1; function primfun() { Return this->var1; } } Los objetos se crean a partir de la palabra reservada new ejemplo: $varc = new nombre_clase(); Una opcin muy til de los objetos es su capacidad de poder heredar de otras clases, esto quiere decir que si se crea una clase hija esta adquiere las propiedades de la clase padre, estas as como su sintaxis de acuerdo a Luis Miguel Cabezas Granado son:

Automticamente obtiene todas las variables miembro de la clase padre. Tambin obtiene todas las funciones miembro de la clase padre, que funcionarn exactamente de la misma forma.

La clase hija puede a su ve z definir nuevas variables y funciones.

La sintaxis es la siguiente: class pagina_Web_formulario extends pagina_Web { function formulario_inicio() { //Escribir el cdigo necesario } }
5

La palabra que indica que ser una clase hija (que hereda de otra) es la palabra extends seguida del nombre de la clase padre.

3.2. Operadores
Los operadores son empleados en todos los lenguajes de programacin estos nos permiten realizar diferentes operaciones sobre un dato o un conjunto de ellos. Ahora veremos los utilizados en php. 3.2.1. Operadores Aritmticos Estos se muestran en la tabla 1.2, tienen la misma equivalencia en las matemticas que en la programacin.

CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5 pg. 165

Tabla 3. 1 Operadores Aritmticos


Operador + * / % Ejemplo $a + $b $a - $b $a * $b $a / $b $a % $b Descripcin Suma dos operandos Resta dos operandos Multiplica dos operandos Divide dos operandos Resto de la divisin entera

Fuente: GUTIERREZ, Abraham: PHP 5 A travs de ejemplos 3.2.2. Operadores de Asignacin El operador de asignacin mas utilizado es el smbolo = que asigna un valor a una variable este se combina generalmente con los operadores aritmticos para generar los operadores mostrados en la Tabla 1.3. Tabla 3. 2 Operadores de Asignacin
Ejemplo $a++ $a-++$a --$a $a += $b $a -= $b $a *= $b $a /= $b $a %= $b $a &= $b Nombre Incremento Decremento Incremento Decremento Suma Resta Multiplicacin Divisin Mdulo Y Equivalencia $a = $a +1 $a = $a -1 $a = $a +1 $a = $a -1 $a = $a + $b $a = $a - $b $a = $a * $b $a = $a / $b $a = $a % $b $a = $a & $b

$a |= $b $a ^= $b $a .= $b $a >>= $b $a <<= $b

O O Exclusiva Concatenacin Desplazamiento a la derecha Desplazamiento a la izquierda

$a = $a | $b $a = $a ^ $b $a = $a . $b $a = $a >> $b $a = $a << $b

Fuente: WELLING, Luke; Thompson Laura: Desarrollo Web con PHP y MySQL En la tabla se puede notar que aparecen dos operadores tanto para el incremento como para el decremento, pero estos presentan una diferencia que podremos ver con un ejemplo: $inprevio=5; $inposterior=5; echo ++$inprevio; echo $inposterior++; El resultado de imprimir la variable inprevio seria 6 mientras que el de inposterior seria 5, esto es por que el primer operador hace el incremento antes de la asignacin y el segundo despus. [WELLING, Luke; Thompson Laura: Desarrollo Web con PHP y MySQL] 3.2.3. Operadores de comparacin Estos operadores se utilizan para comparar dos valores, dependiendo del resultado de la comparacin devolvern un valor true o false. Podemos ver los operadores de comparacin en la tabla 1.4 Tabla 3. 3 Operadores de Comparacin
Operador Ejemplo Devuelve True cuando

== != ===

$a == $b $a ! = $b $a $b ===

Los operandos son Iguales. Los operandos son distintos. Los operandos son idnticos: Iguales y del mismo tipo.

!== < > <= >=

$a !== $b $a < $b $a > $b $a <= $b $a >= $b

Los operandos no son Iguales o del mismo tipo. El operando de la izquierda es menor que el operando de la derecha. El operando de la izquierda es mayor que el operando de la derecha. El operando de la izquierda es menor o Igual que el operando de la derecha. El operando de la izquierda es mayor o Igual que el operando de la

derecha.

Fuente: GUTIERREZ, Abraham: PHP 5 A travs de ejemplos 3.2.4. Operadores lgicos Estos operadores trabajan con valores booleanos, se pueden utilizar para combinar varias condiciones, su sintaxis se muestra en la tabla 1.5. Tabla 3. 4 Operadores Lgicos
Operador && and II or ! xor Ejemplo $a && $b $a y $b son ambos true. $a and $b $a II $b $a o $b son true. $a or $b !$a $a xor $b $a es false, n de la variable. $a es true o $b es true, pero no lo son los dos a la vez. Devuelve True cuando

Fuente: GUTIERREZ, Abraham: PHP 5 A travs de ejemplos

3.2.5. Operador de Ejecucin El operador de ejecucin se representa por el apostrofe invertido (` `), PHP toma lo que este entre las comillas como un comando de lnea de comandos del servidor y lo ejecuta. El valor de la expresin es el resultado del comando. [WELLING, Luke; Thompson Laura: Desarrollo Web con PHP y MySQL] 3.2.6. Operador de supresin de errores Cuando las funciones que se utilizan en php fallan, se muestra el error en el navegador. Esta funcin no permite ver estos errores se representa mediante el smbolo @, si se coloca delante de la funcin (@fun_a();) esta no mostrara la salida de error en pantalla. [CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5]. 3.2.7. Precedencia de Operadores La precedencia de los operadores es muy importante dentro de todos los lenguajes de programacin ya que cuando se usa ms de un operador se tiene que tomar en cuenta el orden en que se evalan, los parntesis sirven para evaluar expresiones en forma diferenciada, ejemplo: $r= 10+5*10; De la forma anterior el resultado seria 60 ya que el operador (*) es preferente con respecto al operador (+). Utilizando los parntesis quedara: $r=(10+5)*10

El resultado seria 150 ya que primero se evala la suma y despus multiplica el resultado. [GUTIERREZ, Abraham: PHP 5 A travs de ejemplos] 3.3. FUNCIONES Las funciones en PHP son partes de cdigo separados que pueden contener instrucciones, llamadas a otras funciones, declaraciones de clases, etc. Estas facilitan el uso de cdigo ya que una seccin de cdigo se puede repetir varias veces a lo largo de un script de PHP, entonces resulta conveniente convertir esa seccin del cdigo en una funcin y mandarla llamar siempre que se necesite. Las funciones pueden tanto recibir valores como regresarlos, a estos valores se les llama parmetros, las funciones pueden contener o no dichos parmetros dependiendo de la definicin de la misma. [GUTIERREZ, Abraham: PHP 5 A travs de ejemplos] Dentro de PHP existen las funciones propias del lenguaje y las funciones de usuario (aquellas que crea el usuario), las funciones del lenguaje realizan ciertas acciones ya establecidas en su programacin solo necesitan ser llamadas y darle argumentos en caso de que se necesiten, mientras que las funciones de usuario necesitan ser programas para realizar ciertas acciones que no vienen implementadas en el lenguaje o bien para adaptarse al proyecto segn los requerimientos. Declaracion de una funcion La sintaxis de una funcin en PHP es la siguiente: function nombre_funcion(parametro1,parametro2,) {

cdigo a ejecutar } La palabra reservada function le indica al compilador de PHP que lo que viene a continuacin es una funcin de usuario, lo primero que hace es evaluar el argumento o argumentos de entrada, despus ejecuta la funcin solicitada y devuelve un valor segn sea el caso. 3.3.1. Llamada a una funcin Para llamar a una funcin se tiene que poner el nombre de la funcin y entre parntesis los argumentos (si es que los necesita) , algunos puntos importantes a la hora de poner el nombre a una funcin de acuerdo a Luke Welling y Laura Thompson serian: No se puede utilizar el mismo nombre asignado a una funcin existente
El nombre de la funcin solo puede contener letras, dgitos y guines bajos. El nombre de la funcin no puede comenzar por un digito.6

Cuando PHP encuentra una llamada a una funcin verifica que los parmetros de la funcin sean correctos y ejecuta el cdigo dentro de la misma despus de finalizar, regresa a la siguiente lnea desde donde fue llamada la funcin, el resultado obtenido es igual a que si el cdigo hubiera estado ubicado en donde se llamo a la funcin. [GUTIERREZ, Abraham: PHP 5 A travs de ejemplos]

WELLING, Luke; Thompson Laura: Desarrollo Web con PHP y MySQL pg.183

3.3.2. Parmetros Los parmetros son una parte importante de las funciones ya que sirven cuando los datos que se usan dentro de la funcin varan con cada llamada a la misma, es importante mencionar que el nombre de la variables que se usen dentro de una funcin solo tienen validez dentro de la misma es decir que si tenemos una variable llamada v1 dentro de la funcin f1 solo se le reconocer dentro de ella, esto se puede solucionar con las variables globales pero su uso no es recomendable ya que hace el seguimiento de las mismas muy difcil y propicia errores. Dentro de PHP se pueden pasar los argumentos de tres formas distintas. Por valor Los argumentos que se pasan a la funcin son copias de un valor anterior, de esta forma el valor que es mandado no sufre modificaciones. Ejemplo: function sum($val) { $val=$val*2 return $val } $v=5 $n=sum($v) En la primera parte podemos ver la defnicion de la funcion despus vemos una asignacin a una variable $v y la llamada a la funcion sum esta enva como parmetro v esta regresaq a $n un valor nuevo pero sin afectar al valor inicial $v. Por referencia

A diferencia del parmetro por valor el parmetro por referencia si modifica el argumento que se paso a la funcin, para indicarle a PHP que se pasara un argumento por referencia la variable en la definicin de la funcin tiene que tener un &. Ejemplo: function sum(&$val) { $val=$val*2 return $val } $v=5 $n=sum($v) Despus de ejecutar la funcin el valor de $v seria 10. Por defecto Estos prametros son tiles cuando en la llamada a la funcion se olvida uno de ellos, esta tomara el valor por defecto asignado en la declaracin de la misma. ejemplo: <?php
function capitales($Pais, $Capital = "Madrid", $habitantes = "muchos") { retur n ("La capital de $Pais es $Capital y tiene $habitante s habitantes.<br>" ) ; } echo capitales("Espaa"); echo capitales("Portugal","Lisboa"); echo capitales("Francia","Paris","muchsimos"); ?> La salida por pantalla es la siguiente:

La capital de Espaa es Madrid y tiene muchos habitantes. La capital de Portugal es Lisboa y tiene muchos habitantes. La capital de Francia es Paris y tiene muchsimos habitantes.7

Un dato importante a mencionar es el uso de las funciones include() y require(), estas funciones realizan la misma tarea, la de poder llamar archivos que contengan variables o funciones en un determinada parte del programa. Pero la diferencia primordial es que mientras la funcion include() permite seguir con el proceso del programa aunque no haya logrado cargar el archivo requerido, la funcion require() necesita forzosamente que este se haya cargado. Esta caracterstica es til en el caso de que se necesite una conexin a una base de datos y es indispensable que antes de seguir se haya logrado la conexin, si se llamo a dicha funcion mediante el require() este no continuara si no se pudo llamar al archivo de conexin.

3.4. Intercambio de informacin entre formularios


Aunque PHP puede ejecutarse desde lnea de comandos es en el ambiente web donde se puede sacar mayor provecho a su potencial mediante el uso de formularios en html, pero bien la principal cuestin es De que manera se pasa la informacin entre uno y otro?, si bien ya mencionamos que el cdigo PHP va embebido en el de html no siempre se usara de esta forma, por ejemplo tenemos un formulario de login en el cual se digita usuario y contrasea el formulario como tal no hara la validacin solo enviara los datos a un formulario de PHP para que este la lleva acabo, existen dos formas comnmente usadas para pasar estos datos, el mtodo GET y el mtodo POST, sin embargo solo hablaremos del mtodo POST ya que GET no se recomienda por ser menos seguro al pasar los datos mediante la url.
7

CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5 pg. 107

El mtodo POST no tiene la misma deficiencia que GET, por lo tanto es el preferido por los desarrolladores, en el formulario se indica el mtodo mediante el cual se pasaran los valores. Ejemplo: <p>Introduzca sus datos personales:</p>
<form name="formulario" method="POST" action="formulario2 .php" > <table width="50%" border="0" cellspacing="0" cellpadding="0">8

La recuperacin de los datos pasados mediante el mtodo POST se hace mediante el uso de la variable sper global $_POST. Ejemplo: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/lose.dtd"> <html> <body> <p>Datos introducidos:</p> <?php foreach ($_POST as $indice => $valor) { echo "$indice: $valor<br>" ; } ech o "<br>GUSTOS:<br> " ; $gusto s = $_POST["gustos"] ; 158 Captulo 8 foreach ($gustos as $indice => $valor) { echo "$indice: $valor<br>" ; } ?> </body>
8

CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5 pg. 157

</html>

La variable sper global $_POST permite el envi de varios datos de informacin desde un mismo formulario para recuperarlo posteriormente en otro, todos estos datos se envan en forma de un arreglo los cuales pueden ser recuperados accediendo a las localidades en donde se guardaron los datos. Por ejemplo tenemos la siguiente seccin de un formulario: <tr> <td>Boleta: </td> <td><input type="text" name="ABoleta"></td> </tr> <tr> <td>Nombre(s): </td> <td><input type="text" name="ANombre"</td> </tr> <tr> <td>Apellido Paterno: </td> <td><input type="text" name="AAp_Pa"></td> </tr> <tr> <td>Apellido Materno:</td> <td><input type="text" name="AAp_Ma"></td> </tr> Los datos se recuperaran de la siguiente forma: $_POST['ABoleta']$_POST['ANombre'],$_POST['AAp_Pa'],$_POST['AAp_Ma'], $_POST['ATurno'])

CABEZAS, Granado Luis Miguel: Manual Imprescindible de PHP5 pgs. 157-158

Hacienda referencia al nombre que se le asigno en el formulario de donde provienen.

S-ar putea să vă placă și