Sei sulla pagina 1di 29

Planteamiento de la investigacin

1. Que es el Lenguaje PHP, ventajas y funcionalidad(donde y como se aplica) 2. Cules son las variables, tipos de datos y Funciones del Lenguaje PHP. cada una y ejemplos 3. Las sentencias de control en PHP como se aplican a la programacin PHP 4. Como se ejecutan los scripts de PHP y como se combinan con HTML 5. Acceso a datos con PHP, funciones de datos de PHP con MySql

1. Qu es PHP?
PHP es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas web dinmicas. Se usa principalmente para la interpretacin del lado del servidor (serverside scripting) pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas incluyendo aplicaciones con interfaz grfica usando las bibliotecas Qt o GTK+.

Ventajas
Es un lenguaje multiplataforma. Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite aplicar tcnicas de programacin orientada a objetos. Biblioteca nativa de funciones sumamente amplia e incluida. No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin por el tipo que estn manejando en tiempo de ejecucin. Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun hacindolo, el programador puede aplicar en su trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lgica de control y la interfaz de usuario en tres componentes independientes.

Inconvenientes
Como es un lenguaje que se interpreta en ejecucin, para ciertos usos puede resultar un inconveniente que el cdigo fuente no pueda ser ocultado. La ofuscacin es una tcnica que puede dificultar la lectura del cdigo pero no la impide y, en ciertos casos, representa un costo en tiempos de ejecucin.

Funcionalidades de PHP
SimpleXML: Parser de XML muy sencillo y potente, ya he hablado de esta librera y la diferencia con el mtodo anterior de parsing de los xml es abismal.

JSON y SOAP: Para la comunicacin entre aplicaciones, a m personalmente JSON me encanta y su uso es simple, muy simple. PDO: capa de abstraccin para acceso de la BD que nos permite acceder a MS SQL Server, Sybase, Firebird/Interbase, IBM, Informix, MySQL, Oracle, ODBC y DB2, PostgreSQL, SQLite de forma transparente. SPL: o Standard PHP Library, permite convertir elementos en arrays y tratarlos con iteradores. SQLite: librera para poder trabajar con esta base de datos (SQLite).

Los principales usos del PHP son los siguientes:


Programacin de pginas web dinmicas, habitualmente en combinacin con el motor de base datos MySQL, aunque cuenta con soporte nativo para otros motores, incluyendo el estndar ODBC, lo que ampla en gran medida sus posibilidades de conexin. Programacin en consola, al estilo de Perl o Shell scripting. Creacin de aplicaciones grficas independientes del navegador, por medio de la combinacin de PHP y Qt/GTK+, lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que est soportado.

2. Cules son las variables, tipos de datos y Funciones del Lenguaje PHP. cada una y ejemplos Variables
Las variables son un espacio o rea de memoria dispuesta para almacenar un valor para su posterior uso por el script, que tiene asignado un identificador (nombre). El valor puede ser una cadena o un nmero. En php no hace falta declarar una variable antes de su uso, ni establecer su tipo. Su nombre puede ser una combinacin de letras (a-Z), nmeros y guiones bajos, precedidos con el signo $. El primer carcter no puede ser un nmero, y php diferencia entre maysculas y minsculas. $var no es igual a $Var Para utilizar una variable basta con asignarle un valor, usando para ello el operador = Si el valor es una cadena, necesita ir entrecomillado. <?php $ciudad = "Madrid"; // el valor de ciudad es Madrid $ciudad = "Zaragoza"; // ciudad ahora es Zaragoza $Ciudad = "Barcelona"; // esta es otra variable distinta ?> Dependiendo de la informacin que contenga, tenemos diversos tipos de variables: integer contiene un nmero entero double contiene un nmero con decimales string una cadena de caracteres

<?php $int = 1; // integro $doub = 1,5; // double $string1 = "1"; // string $string2 = "uno"; // string $fecha = date(Y); // tambin podemos asignar a variables el resultado de // una funcin. ?> El valor de una variable ha de asignarse entrecomillado, salvo que se trate de un valor numrico.

Tipado (casting) de variables


A diferencia de otros lenguajes, al declarar una variable no tenemos que indicar a que tipo pertenece. Php lo har por nosotros de acuerdo con su contenido y el contexto. Aunque no es necesario, podemos especificar el tipo de la variable, o forzar su conversin. Forzar un tipo de variable puede ser muy til, por ejemplo para validar la entrada de datos por usuarios desde un formulario. <?php $cadena="5"; //esto es una cadena $entero=3; //esto es un entero echo $cadena+$entero //dara el resultado 8

$mivar = "3"; // $mivar es tipo string $mivar = 2 + $mivar; // automaticamente se convierte a tipo integer // $mivar ahora vale 5 $mivar = (string)123;// creamos $mivar como cadena settype($mivar, "double"); // forzamos su cambio a tipo double // el cambio forzado afecta al valor de la // variable: // $mivar = 3.5; // $mivar = (integer)$mivar; -> valor 3 // $mivar = (boolean)$mivar; -> valor 1 ?>

Averiguando el tipo de una variable


Si necesitamos saber a qu tipo pertenece una variable podemos usar la funcin gettype(): <?php $mivar = "123"; echo gettype($mivar); // string

$mivar = 123; echo gettype($mivar); // integer ?>

Chequeando tipos concretos


Si lo que necesitamos es saber si se trata de un tipo concreto de variables, podemos usar una funcin ad hoc: Todas ellas tomas como parmetro el nombre de la funcin a chequear, y devuelven verdadero o falso Un dato importante a tener en cuenta es que una variable, sea cual sea su tipo, si es pasada va GET o POST automticamente se convierte en tipo string. Por ello no podremos utilizar is_integer, por ejemplo, sino is_numeric, que no indaga acerca del tipo de variable, sino acerca de los caracteres que la componen. is_array() is_bool() is_double() is_float() is_int() is_integer() is_long() is_null() is_numeric() is_object() is_real() is_resource() is_scalar() is_string() valores por referencia A partir de php 4 adems de pasar un valor a una variable por asignacin, podemos pasrselo por referencia Para ello creamos una nueva variable que referencia ("se convierte en un alias de" o "apunta a") la variable original. Los cambios a la nueva variable afectan a la original, y viceversa. Para asignar por referencia, simplemente se antepone un ampersand (&) al comienzo de la variable cuyo valor se est asignando. <?php $a = 5; // $a vale 5 $b = &$a; // $b vale 5 $b = $b + 3; // $b vale 8. $a TAMBIEN vale 8 ahora. /* los valores sern $a = 8 y $b = 8; */ ?>

Constantes
Son aquellas cuyo valor no va a cambiar a lo largo de la ejecucin del script. Para asignarles un valor se usa la funcin define() <?php define ("AUTOR_EMAIL","blah@miemail.com"); echo AUTOR_EMAIL; // imprime blah@miemail.com // observa que las variables constantes // no necesitan del signo $ // Las constantes NO pueden ir entrecomilladas. ?> Podemos utilizar la funcion defined() para chequear si una constante est definida o no. Por ltimo, PHP ofrece diversas constantes predefinidas: <?php echo __FILE__ ."<br>"; // nombre del archivo echo __LINE__ ."<br>"; // nmero de lnea de cdigo echo PHP_VERSION."<br>"; // nmero de versin php echo PHP_OS ."<br>"; // sistema operativo echo TRUE."<br>"; // valor verdadero (1) echo FALSE."<br>"; // valor falso (0 o cadena vaca) echo NULL."<br>"; // sin valor ?>

Variables de variables Podemos reutilizar el valor de una variable como nombre de otra variable <?php $var = "ciudad"; // tenemos una variable var, valor ciudad $$var = "Madrid"; // creamos una variable llamada ciudad, con valor Madrid. // echo $ciudad nos dara "Madrid". ?>

FUNCIONES EN PHP

Una de las herramientas ms importantes en cualquier lenguaje de programacin son las funciones. Una funcin consiste en un conjunto de rutinas y acciones que a lo largo del script van a ser ejecutadas multitud de veces agrupados en una FUNCION y desde cualquier punto del script puede ser llamada y ejecutada. A su vez, esta funcin puede recibir parmetros externos de los cuales dependa el resultado de una funcin. Las funciones deben ser colocadas siempre antes de realizar la llamada a la funcin (como es lgico). La sintaxis de una funcin es la siguiente: function nombre(parmetros){ instrucciones de la funcin } para llamar a la funcin sera de la siguiente forma: nombre(parmetros) Un ejemplo para entender el uso de funciones es el siguiente: Crearemos una funcin que realice la suma de dos nmeros y muestre el resultado function sumar($sumando1,$sumando2){ $ suma=$sumando1+$sumando2 echo $sumando1."+".$sumando2."=".$suma; } sumar(5,6) Un hecho relevante que cabe destacar es que las variables que declaremos dentro de la funcin solo existirn o tendrn dicho valor dentro de la funcin. Existen casos en los cuales no sabemos el nmero de parmetros que le pasaremos a la funcin y en estos casos debemos usar las funciones creadas al efecto como son: func_num_args() Numero de parmetros que se le han pasado a la funcin func_get_args() Devuelve un elemento de los que forman la lista de argumentos

3. Las sentencias de control en PHP como se aplican a la programacin PHP


Todo script PHP est construido en base a una serie de sentencias. Una sentencia puede ser una asignacin, una llamada de funcin, un ciclo, una sentencia condicional o incluso una sentencia que no hace nada (una sentencia vaca). Las sentencias generalmente finalizan con un punto y coma. Adicionalmente, las sentencias pueden agruparse en un conjunto de sentencias, encapsulndolas entre corchetes. Un grupo de sentencias es una sentencia por s misma tambin. ESTRUCTURAS DE CONTROL Estructura IF If El constructor if es una de las caractersticas ms importantes de muchos lenguajes, incluido PHP. Permite la ejecucin condicional de fragmentos de cdigo. PHP dispone de una estructura if que es similar a la de C:
If (expr) Sentencia

Si la expresin se evala comoTRUE, PHP ejecutar la sentencia y si se evala como FALSE la ignorar El siguiente ejemplo mostrara a es mayor que b si $a es mayor que $b: <?php if ($a > $b) echo "a es mayor que b"; ?> A menudo se desea tener ms de una sentencia para ser ejecutada condicionalmente. Por supuesto, no hay necesidad de envolver cada sentencia con una clusula if. En cambio, se pueden agrupar varias sentencias en un grupo de sentencias. Por ejemplo, este cdigo mostrara a es mayor que b si $a es mayor que $b y entonces asignara el valor de $a a $b: <?php if ($a > $b) { echo "a es mayor que b"; $b = $a; } ?> Las sentencias if pueden anidarse dentro de otra sentencias if infinitamente, lo cual provee completa flexibilidad para la ejecucin condicional de diferentes partes del programa.

Else
Con frecuencia se desea ejecutar una sentencia si una determinada condicin se cumple y una sentencia diferente si la condicin no se cumple. Esto es para lo que sirve else. El else extiende una sentencia if para ejecutar una sentencia en caso que la expresin en la sentencia if se evale como FALSE. Por ejemplo, el siguiente cdigo deber mostrar a es mayor que b si $a es mayor que $b y a NO es mayor que b en el caso contrario <?php if ($a > $b) { echo "a es mayor que b"; } else { echo "a NO es mayor que b"; } ?> La sentencia else slo es ejecutada si la expresin if es evaluada como FALSE y si hay algunas expresiones elseif - slo se ejecuta si tambin todas son evaluadas como FALSE

Elseif/else if
elseif, como su nombre lo sugiere, es una combinacin de if y else. Del mismo modo que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que la expresin if original se evale como FALSE. Sin embargo, a diferencia de else, esa expresin alternativa slo se ejecutar si la expresin condicional del elseif se evala como TRUE. Por ejemplo, el siguiente cdigo debe mostrar a es mayor que b, a es igual que b o a es menor que b <?php if ($a > $b) { echo "a es mayor que b"; } elseif ($a == $b) { echo "a es igual que b"; } else { echo "a es menor que b"; } ?> Puede haber varios elseif dentro de la misma sentencia if. La primera expresin elseif (si hay alguna) que se evale como TRUEsera ejecutada. En PHP tambin se puede escribir 'else if' (en dos palabras) y el comportamiento sera idntico al de 'elseif' (en una sola palabra). El significado sintctico es ligeramente diferente (si se est familiarizado con C, este es el mismo comportamiento) pero la conclusin es que ambos resultaran tener exactamente el mismo comportamiento. La sentencia elseif es ejecutada solamente si la expresin if precedente y cualquiera de las expresiones elseif precedentes son evaluadas como FALSE, y la expresin elseif actual se evala como TRUE

Sintaxis alternativa de estructuras de control PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control; a saber: if, while, for, foreach, y switch. En cada caso, la forma bsica de la sintaxis alternativa es cambiar el corchete de apertura por dos puntos(:) y el corchete de cierre porendif;, endwhile;, endfor;, endforeach;, o endswitch;, respectivamente. <?php if ($a == 5): ?> A es igual a 5 <?php endif; ?> En el ejemplo anterior, el bloque HTML "A es igual a 5" se anida dentro de una sentencia if escrita en la sintaxis alternativa. El bloque HTML se mostrara solamente si $a es igual a 5. La sintaxis alternativa tambin se aplica a else y elseif. estructura if con elseif y else en el formato alternativo: <?php if ($a == 5): echo "a igual 5"; echo "..."; elseif ($a == 6): echo "a igual 6"; echo "!!!"; else: echo "a no es 5 ni 6"; endif; ?> While Los bucles while son el tipo ms sencillo de bucle en PHP. Se comportan igual que su contrapartida en C. La forma bsica de una sentencia while es: while (expr) sentencia El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresin whilese evale como TRUE. El valor de la expresin es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecucin de las sentencias anidadas, la ejecucin no se detendr hasta el final de la iteracin (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una iteracin). A veces, si la expresin while se evala como FALSE desde el principio, las sentencias anidadas no se ejecutarn ni siquiera una vez. Al igual que con la sentencia if, se pueden agrupar varias instrucciones dentro del mismo bucle while rodeando un grupo de sentencias con corchetes, o utilizando la sintaxis alternativa: El siguiente es una

while (expr): sentencias ... endwhile;


Los siguientes ejemplos son idnticos y ambos presentan los nmeros del 1 al 10:

<?php /* ejemplo 1 */ $i = 1; while ($i <= 10) { echo $i++; /* el valor presentado sera $i antes del incremento (post-incremento) */ } /* ejemplo 2 */ $i = 1; while ($i <= 10): echo $i; $i++; endwhile; ?> Do-while Los bucles do-while son muy similares a los bucles while, excepto que la expresin verdadera es verificada al final de cada iteracin en lugar que al principio. La diferencia principal con los bucles while es que est garantizado que corra la primera iteracin de un bucle do-while (la expresin verdadera slo es verificada al final de la iteracin), mientras que no necesariamente va a correr con un bucle while regular (la expresin verdadera es verificada al principio de cada iteracin, si se evala como FALSE justo desde el comienzo, la ejecucin del bucle terminara inmediatamente). Hay una sola sintaxis para bucles do-while <?php $i = 0; do { echo $i; } while ($i > 0); ?>

El bucle de arriba se ejecutara exactamente una sola vez, ya que despus de la primera iteracin, cuando la expresin verdadera es verificada, se evala como FALSE ($i no es mayor que 0) y termina la ejecucin del bucle. Los usuarios avanzados de C pueden estar familiarizados con un uso distinto del bucle do-while, para permitir parar la ejecucin en medio de los bloques de cdigo, mediante el encapsulado con do-while (0), y utilizando la sentencia break. El siguiente fragmento de cdigo demuestra esto: <?php do { if ($i < 5) { echo "i no es lo suficientemente grande"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "i est bien"; /* procesar i */ } while (0); ?> For Los bucles for son los ciclos ms complejos en PHP. Se comportan como sus contrapartes en C. La sintaxis de un bucle for es: for (expr1; expr2; expr3) sentencia La primera expresin (expr1) es evaluada (ejecutada) una vez incondicionalmente al comienzo del bucle. En el comienzo de cada iteracin, la expr2 es evaluada, Si es TRUE, el bucle contina y las sentencias anidadas son ejecutadas. Si se evala como FALSE, termina la ejecucin del bucle. Al final de cada iteracin, la expr3 es evaluada (ejecutada). Cada una de las expresiones puede estar vaca o contener mltiples expresiones separadas por comas. En la expr2, todas las expresiones separadas por una coma son evaluadas pero el resultado se toma de la ltima parte. Que la expr2 est vaca significa que el bucle deber ser corrido indefinidamente (PHP implcitamente lo considera como TRUE, como en C). Esto puede no ser tan intil como se pudiera pensar, ya que muchas veces se quiere terminar el bucle usando una sentencia condicional break en lugar de utilizar la expresin verdadera del for.

Considere los siguientes ejemplos. Todos ellos muestran los nmeros del 1 al 10: <?php /* ejemplo 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } /* ejemplo 2 */ for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } /* ejemplo 3 */ $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } /* ejemplo 4 */ for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); ?> Por supuesto, el primer ejemplo parece ser el mejor (o quizs el cuarto), pero se puede encontrar que la posibilidad de usar expresiones vacas en los bucles for resulta til en muchas ocasiones. Break break termina la ejecucin de la estructura actual for, foreach, while, do-while o switch. break acepta un argumento numrico opcional el cual indica de cuantas estructuras anidadas encerradas se debe salir. <?php $arr = array('uno', 'dos', 'tres', 'cuatro', 'pare', 'cinco'); while (list(, $val) = each($arr)) { if ($val == 'pare') {

break; /* Se puede tambin escribir 'break 1;' aqu. */ } echo "$val<br />\n"; } /* Usando el argumento opcional. */ $i = 0; while (++$i) { switch ($i) { case 5: echo "En 5<br />\n"; break 1; /* Slo sale del switch. */ case 10: echo "En 10; saliendo<br />\n"; break 2; /* Sale del switch y del while. */ default: break; } } ?> Continue Continue se utiliza dentro de las estructuras de bucle para saltarse el resto de la actual iteracin del bucle y continuar la ejecucin en la evaluacin de la condicin y entonces el comienzo de la siguiente iteracin.

Nota: Tenga en cuenta que en PHP la sentencia switch se considera una estructura de bucle para los efectos del continue. continue acepta un argumento numrico opcional el cual indica hasta el final de cuantos niveles de bucles cerrados se debe saltar. <?php while (list($key, $value) = each($arr)) { if (!($key % 2)) { // saltar miembros impares continue; } do_something_odd($value); } $i = 0; while ($i++ < 5) { echo "Outer<br />\n"; while (1) {

echo "Middle<br />\n"; while (1) { echo "Inner<br />\n"; continue 3; } echo "This never gets output.<br />\n"; } echo "Neither does this.<br />\n"; } ?> Switch La sentencia switch es similar a una serie de sentencias IF en la misma expresin. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresin) con muchos valores diferentes, y ejecutar una parte de cdigo distinta dependiendo de a que valor es igual. Para esto es exactamente la expresin switch.
Nota: Cabe sealar que a diferencia de algunos otros lenguajes, la sentencia continue se aplica a switch y acta de manera similar a break. Si se tiene un switch dentro de un bucle y se desea continuar a la siguiente iteracin de del ciclo exterior, se utiliza continue 2. Los dos ejemplos siguientes son dos formas diferentes de escribir lo mismo, uno con una serie de sentencias if y elseif, y el otro usando la sentencia switch:

Ejemplo #1 Estructura switch <?php if ($i == 0) { echo "i es igual a 0"; } elseif ($i == 1) { echo "i es igual a 1"; } elseif ($i == 2) { echo "i es igual a 2"; } switch ($i) { case 0: echo "i es igual a 0"; break; case 1: echo "i es igual a 1"; break; case 2: echo "i es igual a 2"; break;

} ?> Ejemplo #2 Estrutura switch permite el uso de strings <?php switch ($i) { case "manzana": echo "i es una manzana"; break; case "barra": echo "i es una barra"; break; case "pastel": echo "i es un pastel"; break; } ?> Es importante entender cmo la sentencia switch es ejecutada con el fin de evitar errores. La sentencia switch ejecuta lnea por lnea (en realidad, sentencia por sentencia). Al principio, ningn cdigo es ejecutado. Slo cuando una sentencia case es encontrada con un valor que coincide con el valor de la sentencia switch, PHP comienza a ejecutar la sentencias. PHP contina ejecutando las sentencias hasta el final del bloque switch, o hasta la primera vez que vea una sentencia break. Si no se escribe una sentencia break al final de la lista de sentencias de un caso, PHP seguir ejecutando las sentencias del caso siguiente. Por ejemplo: ?php switch ($i) { case 0: echo "i es igual a 0"; case 1: echo "i es igual a 1"; case 2: echo "i es igual a 2"; } ?> Aqu, si $i es igual a 0, PHP ejecutara todas las sentencias echo! Si $i es igual a 1, PHP ejecutara las ltimas dos sentencias echo. Se obtendra el comportamiento esperado (se mostrara 'i es igual a 2') slo si $i es igual a 2. Por lo tanto, es importante no olvidar las sentencias break (aunque es posible que se desee evitar proporcionarlas a propsito bajo determinadas circunstancias). En una sentencia switch, la condicin es evaluada slo una vez y el resultado es comparado con cada una de las sentencias case. En una sentencia elseif, la condicin es evaluada otra vez. Si la condicin es ms complicada que una simple comparacin y/o est en un bucle estrecho, un switch puede ser ms rpido.

La lista de sentencias para un caso tambin puede estar vaca, lo cual simplemente pasa el control a la lista de sentencias para el siguiente caso. <?php switch ($i) { case 0: case 1: case 2: echo "i es menor que 3 pero no negativo"; break; case 3: echo "i es 3"; } ?> Un caso especial es el default. Este caso coincide con cualquier cosa que no se haya correspondido por los otros casos. Por ejemplo: <?php switch ($i) { case 0: echo "i es igual a 0"; break; case 1: echo "i es igual a 1"; break; case 2: echo "i es igual a 2"; break; default: echo "i no es igual a 0, 1 ni 2"; } ?> A expresin case puede ser cualquier expresin que se evala como un tipo simple, es decir, entero o nmeros de punto flotante y strings. Los arrays u objetos no se pueden utilizar aqu a menos que sean desreferenciados a un tipo simple. La sintaxis alternativa para las estructuras de control es compatible con los switch. Para obtener ms informacin, consulte Sintaxis alternativa de estructuras de control. <?php switch ($i): case 0: echo "i es igual a 0"; break; case 1: echo "i es igual a 1";

break; case 2: echo "i es igual a 2"; break; default: echo "i no es igual a 0, 1 ni 2"; endswitch; ?> Es posible utilizar un punto y coma en lugar de dos puntos despus de un caso como: <?php switch($beer) { case 'tuborg'; case 'carlsberg'; case 'heineken'; echo 'Buena eleccin'; break; default; echo 'Por favor haga una nueva seleccin...'; break; } ?> Eclare El constructor declare es usado para fijar directivas de ejecucin para un bloque de cdigo. La sintaxis de declare es similar a la sintaxis de otros constructores de control de flujo: declare (directive) statement La seccin directive permite que el comportamiento de declare sea configurado. Actualmente, slo dos directivas estn reconocidas: ticks (Ver abajo para ms informacin sobre la directiva ticks) y encoding (Ver abajo para ms informacin sobre la directiva encoding ). Nota: La directiva encoding fue agregada en PHP 5.3.0

La parte statement del bloque declare ser ejecutada - como se ejecuta y que efectos secundarios ocurran durante la ejecucin puede depender de la directiva fijada en el bloque directive. El constructor declare tambin se puede utilizar en el alcance global, afectando a todo el cdigo que le sigue (sin embargo, si el archivo con el declare fue incluido entonces no afectar al archivo padre).

?php // estos son lo mismo: // se puede usar sto: declare(ticks=1) { // script entero aqu } // o se puede usar sto: declare(ticks=1); // script entero aqu ?> Ticks Un tick es un evento que ocurre para cada sentencia tickable N de bajo nivel ejecutada por el intrprete dentro del bloque declare. El valor para N se especifica usando ticks=N dentro del bloque de declare de la seccin directive. No todas las sentencias son tickable. Por lo general, expresiones de condicin y expresiones de argumento no son tickables. Los eventos que ocurren en cada tick se especifican mediante la register_tick_function(). Ver el ejemplo abajo para ms detalles. Tener en cuenta que ms de un evento puede ocurrir por cada tick.
Ejemplo #1 Ejemplo de uso del tick

<?php declare(ticks=1); // Una funcin llamada en cada evento tick function tick_handler() { echo "tick_handler() llamado\n"; } register_tick_function('tick_handler'); $a = 1; if ($a > 0) { $a += 2; print($a); } ?>

Encoding
Una codificacin de script puede ser especificada para cada script usando la directiva encoding. Ejemplo #2 Declarando un encoding para el script

<?php declare(encoding='ISO-8859-1'); // cdigo aqu ?>

Return Si se llama desde una funcin, la sentencia return() inmediatamente termina la ejecucin de la funcin actual, y retorna su argumento como el valor de la llamada a la funcin. return() tambin pondr fin a la ejecucin de una sentencia eval() o a un archivo de script. Si se llama desde el mbito global, entonces la ejecucin del script actual se termina. Si el archivo script actual fue incluido con include() o require(), entonces el control es pasado de regreso al archivo que hizo el llamado. Adems, si el archivo script actual fue incluido, entonces el valor dado a return() ser retornado como el valor de la llamada include(). Si return() es llamado desde dentro del archivo script principal, entonces termina la ejecucin del script. Si el archivo script actual fue nombrado por las opciones de configuracin auto_prepend_file o auto_append_file en php.ini, entonces se termina la ejecucin de ese archivo script. require() require() es idntico a include() excepto que en caso de fallo producir un error fatal de nivel E_COMPILE_ERROR. En otras palabras, este detiene el script mientras que include() slo emitir una advertencia (E_WARNING) lo cual permite continuar el script. Vase la documentacin de include() para ms informacin. Include() La sentencia include() incluye y evala el archivo especificado. La siguiente documentacin tambin se aplica a require(). Los archivos son incluidos con base en la ruta de acceso dada o, si ninguna es dada, el include_path especificado. Si el archivo no se encuentra en el include_path, include() finalmente verificar en el propio directorio del script que hace el llamado y en el directorio de trabajo actual, antes de fallar. El constructor include() emitir una advertencia si no puede encontrar un archivo, ste es un comportamiento diferente al de require(), el cual emitir un error fatal.

Si una ruta es definida ya sea absoluta (comenzando con una letra de unidad o \ en Windows o / en sistemas Unix/Linux) o relativa al directorio actual (comenzando con . o ..) el include_path ser ignorado por completo. Por ejemplo, si un nombre de archivo comienza con ../, el interprete buscar en el directorio padre para encontrar el archivo solicitado. Para ms informacin sobre como PHP maneja la inclusin de archivos y la ruta de accesos para incluir, ver la documentacin de include_path. Cuando se incluye un archivo, el cdigo que contiene hereda el mbito de las variables de la lnea en la cual ocurre la inclusin. Cualquier variable disponible en esa lnea del archivo que hace el llamado, estar disponible en el archivo llamado, desde ese punto en adelante. Sin embargo, todas las funciones y clases definidas en el archivo incluido tienen el mbito global. Ejemplo #1 Ejemplo bsico de include() vars.php <?php $color = 'verde'; $fruta = 'manzana'; ?> test.php <?php echo "Una $fruta $color"; // Una include 'vars.php'; echo "Una $fruta $color"; // Una manzana verde ?>
Si la inclusin ocurre al interior de una funcin dentro del archivo que hace el llamado, entonces todo el cdigo contenido en el archivo llamado se comportar como si hubiera sido definida dentro de esa funcin. Por lo tanto, seguir el mbito de las variables de esa funcin. Una excepcin a esta regla son las constantes mgicas las cuales son evaluadas por el intrprete antes que ocurra la inclusin. Ejemplo #2 Incluyendo dentro de funciones

<?php function foo() { global $color; include 'vars.php';

echo "Una $fruta $color"; } /* vars.php est en el mbito de foo() as que * * $fruta NO est disponible por fuera de ste * * mbito. $color s est porque fue declarado * * como global. */ foo(); // Una manzana verde echo "Una $fruta $color"; // Una verde ?>
Goto El operador goto puede ser usado para saltar a otra seccin en el programa. El punto de destino es especificado mediante una etiqueta seguida de dos puntos y la instruccin es dada como goto seguida de la etiqueta del destino deseado. Este goto no es completamente sin restricciones. La etiqueta de destino debe estar dentro del mismo fichero y contexto, lo que significa que no se puede saltar fuera de una funcin o mtodo, ni se puede saltar dentro de uno. Tampoco se puede saltar dentro de cualquier clase de estructura de bucle o switch. Se puede saltar fuera de estos y un uso comn es utilizar un goto en lugar de un breakmulti-nivel. Ejemplo #1 Ejemplo de goto <?php goto a; echo 'Foo'; a: echo 'Bar'; ?> El resultado del ejemplo sera: Bar

5. Acceso a datos con PHP, funciones de datos de PHP con MySql


Instalacin y configuracin de MySQL. 1: descargar
Conectarse a la pgina web de MySQL, www.mysql.com Seleccionar la pestaa Developer Zone y dentro de ella la seccin Downloads Elegir la versin estable ms reciente de MySQL Community Server. A fecha de febrero de 2009 es la 5.1

Seleccionar la plataforma Windows y descargar el archivo comprimido a una carpeta temporal

Instalacin y configuracin de MySQL. 2: descomprimir e instalar


Descomprimir el archivo descargado en una carpeta temporal Ejecutar el archivo setup.exe y seguir las indicaciones: Seleccionar instalacin tpica Aceptar la carpeta de instalacin por defecto Pulsar el botn Finish para terminar la instalacin y pasar a la configuracin del servidor

Instalacin y configuracin de MySQL. 3: configurar


Al finalizar la instalacin se ejecuta el asistente para la configuracin del servidor. Seguir sus indicaciones: Elegir la configuracin estndar Seleccionar la instalacin como servicio Windows y Marcar la casilla para lanzar el servidor automticamente al arrancar el sistema Establecer una contrasea para el administrador (root) Pulsar el botn Execute para realizar la configuracin Pulsar el botn Finish para finalizar el asistente

Instalacin y configuracin de MySQL. 4: arrancar


Si se indic el arranque automtico en la configuracin, el servidor se inicia de forma automtica al arrancar el sistema En caso contrario hay que iniciarlo manualmente con Inicio > Programas > MySQL > MySQL Server 5.1 > MySQL Server Instance Config Wizard

Instalacin y configuracin de MySQL. 5: conectar


Formas de establecer la conexin con el servidor: Desde la lnea de rdenes con Inicio > Programas > MySQL > MySQL Server 5.1 > MySQL Command Line Client Enter password: ******** mysql> mysql> exit Mediante alguna herramienta que proporcione una interfaz grfica como phpMyAdmin Desde una pgina web mediante la interfaz que proporciona MySQL. Es lo que haremos con la biblioteca de funciones de MySQL que posee PHP

Instalacin y configuracin de MySQL. 5: conectar


Para conectar con el servidor hay que crear antes una cuenta de usuario y asignarle los correspondientes permisos de acceso. En general para una base de datos es conveniente definir al menos dos usuarios:

Un usuario annimo que tenga permisos de lectura sobre las tablas que se estime adecuado Un usuario administrador que tenga permisos para insertar, modificar o eliminar elementos de las tablas de la base de datos En cada conexin hay que indicar el nombre del usuario, su contrasea y la mquina desde la que se realiza la conexin (localhost si es la propia mquina donde reside el servidor, que es lo habitual en el acceso desde la Web)

Instalacin y configuracin de MySQL. 6: MySQL-PHP En PHP 5 no se instala por defecto la extensin para el acceso a bases de datos MySQL y hay que hacerlo manualmente Se hace de la siguiente manera: Editar el fichero php.ini y habilitar la extensin: extension=php_mysql.dll Aadir la ruta c:\php al PATH del sistema (ver las instrucciones para hacerlo en el fichero install.txt que hay en la carpeta c:\php) Caractersticas de MySQL
Modelo relacional, multiusuario Tipos de datos Numricos tinyint, smallint, mediumint, int, integer, bigint decimal, float, numeric Fecha y hora date, time, datetime, year, timestamp Cadena char, varchar tinytext, text, mediumtext, longtext tinyblob, blob, mediumblob, longblob enum, set Debe elegirse adecuadamente el tipo y el tamao de cada campo Operadores Aritmticos +, -, *, / Comparacin =, !=, <=, <, >=, >, IS NULL, IS NOT NULL Lgicos not (!), and (&&), or (||), xor Funciones Funciones de cadena Funciones de comparacin de cadenas Funciones numricas Funciones de fecha y hora Funciones de agregado

phpMyAdmin es una herramienta para la administracin del servidor de bases de datos MySQL Dispone de una interfaz grfica y es de libre distribucin Permite realizar todo tipo de operaciones sobre bases de datos: crear, borrar y modificar tablas consultar, insertar, modificar y eliminar datos definir usuarios y asignar permisos realizar copias de seguridad etc Est escrita en php y se ejecuta desde el navegador Si est instalada en la carpeta phpmyadmin, se ejecuta escribiendo en la barra de direcciones del navegador la url http://localhost/phpmyadmin/ Puede administrar bases de datos locales y remotas phpMyAdmin Pasos para su instalacin: Descargar Descomprimir Configurar Ejecutar phpMyAdmin

Instalacin y configuracin de phpMyAdmin. 1: descargar


Conectarse a la direccin http://www.phpmyadmin.net Seleccionar Download Seleccionar la versin ms reciente. A fecha de febrero de 2009 es la 3.1.2

Instalacin y configuracin de phpMyAdmin. 2: descomprimir


Descomprimir debajo de la carpeta raz de la web Cambiar el nombre de la carpeta creada a phpmyadmin

Instalacin y configuracin de phpMyAdmin. 3: configurar


El fichero de configuracin se llama config.inc.php Este fichero no existe sino que hay que crearlo. Para ello se hace una copia del fichero config.sample.inc.php, situado en la carpeta donde se haya instalado phpMyAdmin, y se le pone como nombre config.inc.php Seguidamente se modifica el fichero config.inc.php Configuracin tpica para un servidor local: ... $cfg['Servers'][$i]['host'] = 'localhost'; //MySQL hostname $cfg['Servers'][$i]['user'] = 'root'; //MySQL user $cfg['Servers'][$i]['password'] = 'clave'; //MySQL password ... siendo clave la contrasea asignada al administrador (root) de MySQL durante su instalacin

Instalacin y configuracin de phpMyAdmin. 4: ejecutar


Ejecutar Apache Abrir el navegador y teclear la url http://localhost/phpmyadmin Lenguaje SQL SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos Procedimiento de comunicacin con la base de datos: Lenguaje SQL Las instrucciones ms habituales son SELECT, INSERT, UPDATE, DELETE Veamos su sintaxis bsica y algunos ejemplos de uso Para ello utilizaremos una tabla noticias con cinco campos: un identificador nico de la noticia, el ttulo de la noticia, el texto de la noticia, la categora de la noticia y la fecha de publicacin de la noticia Lenguaje SQL SELECT Lenguaje SQL INSERT Lenguaje SQL UPDATE Lenguaje SQL DELETE Funciones de PHP para el acceso a bases de datos MySQL Los pasos para acceder desde PHP a una base de datos son los siguientes: Conectar con el servidor de bases de datos Seleccionar una base de datos Enviar la instruccin SQL a la base de datos Obtener y procesar los resultados Cerrar la conexin con el servidor de bases de datos Acceso a bases de datos MySQL Las funciones concretas de MySQL que realizan estas operaciones son: Conectar con el servidor de bases de datos: mysql_connect() Seleccionar una base de datos: mysql_select_db() Enviar la instruccin SQL a la base de datos: mysql_query() Obtener y procesar los resultados: mysql_num_rows() y mysql_fetch_array() Cerrar la conexin con el servidor de bases de datos: mysql_close() Acceso a bases de datos MySQL Conectar con el servidor de bases de datos: mysql_connect() Devuelve un identificador de la conexin en caso de xito y false en caso contrario Sintaxis: $conexion = mysql_connect (servidor, username, password);

Ejemplo: $conexion = mysql_connect (localhost, cursophp, ) or die (No se puede conectar con el servidor); $conexion = mysql_connect (localhost, cursophp-ad, php.hph) or die (No se puede conectar con el servidor); Acceso a bases de datos MySQL Seleccionar una base de datos: mysql_select_db() Devuelve true en caso de xito y false en caso contrario Sintaxis: mysql_select_db (database); Ejemplo: mysql_select_db (lindavista) or die (No se puede seleccionar la base de datos); Acceso a bases de datos MySQL Enviar la instruccin SQL a la base de datos: mysql_query() Devuelve un identificador o true (dependiendo de la instruccin) si la instruccin se ejecuta correctamente y false en caso contrario Sintaxis: $consulta = mysql_query (instruccin, $conexion); Ejemplo: $consulta = mysql_query (select * from noticias, $conexion) or die (Fallo en la consulta); Acceso a bases de datos MySQL Obtener y procesar los resultados: mysql_num_rows(), mysql_fetch_array() En el caso de que la instruccin enviada produzca unos resultados, mysql_query() devuelve las filas de la tabla afectadas por la instruccin mysql_num_rows() devuelve el nmero de filas afectadas Para obtener las distintas filas del resultado se utiliza la funcin mysql_fetch_array(), que obtiene una fila del resultado en un array asociativo cada vez que se invoca Sintaxis: $nfilas = mysql_num_rows ($consulta); $fila = mysql_fetch_array ($consulta); Acceso a bases de datos MySQL Ejemplo: Acceso a bases de datos MySQL Ejemplo: Acceso a bases de datos MySQL

Obtencin de las filas: $nfilas = mysql_num_rows ($consulta); if ($nfilas > 0) { for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($consulta); procesar fila i-sima de los resultados } } Acceso a bases de datos MySQL Obtener los resultados: mysql_num_rows(), mysql_fetch_array() Para acceder a un campo determinado de una fila se usa la siguiente sintaxis: $fila[nombre_campo] // por ser un array asociativo $fila[$i] // $i=ndice del campo desde 0 Ejemplo: for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($consulta); print Ttulo: . $fila[titulo]; print Fecha: . $fila[fecha]; } Acceso a bases de datos MySQL Cerrar la conexin con el servidor de bases de datos: mysql_close() Sintaxis: mysql_close ($conexion); Ejemplo mysql_close ($conexion); Ejercicios

BIBLIOGRAFIA

http://www.php.net/manual/es/control-structures.while.php

Potrebbero piacerti anche