Lenguaje PHP
·
Estructuras de Control.
(Switch, if).Ejemplos de Código.
·
Un switch es un dispositivo de propósito especial
diseñado para resolver problemas de rendimiento en la red, debido a anchos de
banda pequeños y embotellamientos. El switch puede agregar mayor ancho de
banda, acelerar la salida de paquetes, reducir tiempo de espera y bajar el
costo por puerto.
·
IF significa SI (condicional) en español. Su
funcionamiento es simple. Se evalúa una condición, si es verdadera ejecuta un código, si es falsa,
ejecuta otro código (o continúa con la ejecución del programa).
Ejemplos de Código.
Ejemplo SWITCH : Aquí presentamos un ejemplo de
switch con el uso de un bucle while (se verá en el capítulo siguiente). Dada la
cadena "BuEnos dIas.". Cuenta el número de vocales (ya sean mayúsculas o minúsculas). Lo
presentamos en forma de traza.
Ejemplos IF:
En
el ejemplo siguiente, la primera lìnea da el cálculo que hay que evaluar. Si el
resultado del cálculo es un valor true, se ejecuta la segunda lìnea. Si el
resultado devuelve un valor false, se ignora la segunda lìnea del guión y se
ejecuta el guión Else.
If
[Ventas::Estado = "CA"]
Ejecutar guión ["Calcular impuesto
y total de CA"]
Else
Ejecutar guión ["Calcular
total"]
End
If
Estructuras Repetitivas
(For, Foreach, While, Do while).Ejemplos de Código.
For: FOR es una estructura de repetición
empleada en la programación de algoritmos para repetir un código una o más
veces dependiendo de un contador.
Ejemplo:
int
contador;
for
(contador = 1; contador<=10; contador++)
{
printf(“Repetición
número %d”, contador);
};
Primero
se crea la variable contador de tipo entero (será la variable de control en el
for). Luego se ejecuta la estructura for iniciando la variable contador en 1.
Luego se verifica que se cumple la condición contador<=10 y se ejecuta el
bloque dentro de la estructura, o sea, imprime en pantalla el texto Repetición
número 1.
Luego
la variable contador es incrementada en uno con la expresión contador++ y el
ciclo se inicia otra vez. La variable contador ahora vale 2, por lo tanto se
verifica la condición y se vuelve a ejecutar el código.
Este
proceso se ejecuta hasta que la variable contador toma el número 11 y la
condición se hace falsa, no ejecutando el bloque o cuerpo del for.
Foreach:
El
constructor foreach proporciona un modo sencillo de iterar sobre arrays.
foreach funciona sólo sobre arrays y objetos, y emitirá un error al intentar
usarlo con una variable de un tipo diferente de datos o una variable no inicializada.
Existen dos sintaxis:
foreach
(expresión_array as $valor)
sentencias
foreach
(expresión_array as $clave => $valor)
sentencias
La
primera forma recorre el array dado por expresión_array. En cada iteración, el
valor del elemento actual se asigna a $valor y el puntero interno del array
avanza una posición (así en la próxima iteración se estará observando el
siguiente elemento).
La
segunda forma además asigna la clave del elemento actual a la variable $clave
en cada iteración.
También
es posible personalizar la iteración de objetos.
While:
Es
un ciclo repetitivo basado en los resultados de una expresión lógica, se
encuentra en la mayoría de los lenguajes de programación estructurados. El
propósito es repetir un bloque de código mientras una condición se mantenga
verdadera.
Ejemplo:
#include
<stdio.h>
int main(){
int
tecla = 0;
while(tecla == 0){
cout << mostrar_letra <<
tecla<<endl; /* Leemos el numero ingresado */
}
}
En
este ejemplo el programa va a leer la pulsación de una tecla mientras su valor
sea igual a 0. En el momento en que se pulse una tecla distinta se detendrá.
Do while:
Los
bucles do-while son muy similares a los bucles while, excepto que la expresión
verdadera es verificada al final de cada iteración en lugar que al principio.
La diferencia principal con los bucles while es que está garantizado que corra
la primera iteración de un bucle do-while (la expresión verdadera sólo es
verificada al final de la iteración), mientras que no necesariamente va a
correr con un bucle while regular (la expresión verdadera es verificada al
principio de cada iteración, si se evalúa como FALSE justo desde el comienzo,
la ejecución del bucle terminaría inmediatamente).
Ejemplo:
<?php
$i = 0;
do {
echo $i;
}
while ($i > 0);
?>
El bucle de
arriba se ejecutaría exactamente una sola vez, ya que después de la primera
iteración, cuando la expresión verdadera es verificada, se evalúa como FALSE
($i no es mayor que 0) y termina la ejecución del bucle.
Funciones,
Procedimientos en PHP.
El
concepto de función en PHP es el mismo que en otros lenguajes de programación,
un conjunto de instrucciones que modifican o crean ciertas variables para
realizar una tarea más o menos elemental, recordando que las funciones siempre
devuelven un valor y en el caso de PHP ese valor puede ser de cualquiera de los
tipos ya estudiados.
En
el caso de los procedimientos, PHP no dispone de ninguna instrucción para crear
procedimientos, simplemente lo trataremos como una función que no devuelve
ningún valor sino que se limita a ejecutar un grupo de instrucciones.
Sintaxis de una función
function
nombre_funcion(parametro1, parametro2,... parametroN)
{
Instruccion
1;
Instruccion
2;
Instruccion
3;
...
Instruccion
N;
return
valor;
}
Como
se puede ver, para declarar la función se usa la palabra reservada function,
seguidamente el nombre de la función y la lista de parámetros entre paréntesis.
Dentro del bloque de instrucciones agrupadas debe existir la instrucción
return, la cual se encarga de devolver el valor deseado al punto del programa
que invoco la función
Ejemplo de función
<html>
<head>
<title>Ejemplo de funcion</title>
</head>
<body>
<?php
function
escribe_separa($cadena){
for
($i=0;$i<strlen($cadena);$i++){
echo $cadena[$i];
if
($i<strlen($cadena)-1)
echo
"-";
}
}
escribe_separa
("hola");
echo
"<p>";
escribe_separa
("Texto más largo, a ver lo que hace");
?>
</body>
</html>
En
el ejemplo anterior se crea una función escribe_separa que toma una cadena de
caracteres y la reescribe intercalando guones (-), por ejemplo si el parámetro
de la función es "hola", devuelve "h-o-l-a"
Para
lograrlo se usa la función srtlen(), la cual devuelve el numero de caracteres
que componen una cadena.
Paso de parámetros.
Características
Los
parámetros son los datos que reciben las funciones y que utilizan para realizar
las operaciones de la función. Una función puede recibir cualquier número de
parámetros, incluso ninguno.
function
f1 ($parametro1, $parámetro2
Así
definimos una función llamada f1 que recibe dos parámetros. Como se puede
observar, no se tiene que definir el tipo de datos de cada parámetro.
Los
parámetros tienen validez durante la ejecución de la función, es decir, tienen
un ámbito local a la función donde se están recibiendo. Cuando la función se
termina, los parámetros dejan de existir.
Cuando los parámetros
se pasan por valor
El
paso de parámetros en PHP se realiza por valor. "Por valor" es una
manera típica de pasar parámetros en funciones, quiere decir que el cambio de
un dato de un parámetro no actualiza el dato de la variable que se pasó a la
función. Por ejemplo, cuando invocamos una función pasando una variable como
parámetro, a pesar de que cambiemos el valor del parámetro dentro de la
función, la variable original no se ve afectada por ese cambio. Puede que se
vea mejor con un ejemplo:
function
porvalor ($parametro1){
$parametro1="hola";
echo
"<br>" . $parametro1; //imprime "hola"
}
$mivariable
= "esto no cambia";
porvalor
($mivariable);
echo
"<br>" . $mivariable; //imprime "esto no cambia"
Esta página tendrá como
resultado:
hola
esto
no cambia
Cuando los parámetros
se pasan por referencia
En
contraposición al paso de parámetros por valor, está el paso de parámetros por
referencia. En este último caso, el cambio del valor de un parámetro dentro de
una función sí afecta al valor de la variable original.
Podemos
pasar los parámetros por referencia si, en la declaración de la función, colocamos
un "&" antes del parámetro.
function
porreferencia(&$cadena)
{
$cadena
= 'Si cambia';
}
$str
= 'Esto es una cadena';
porreferencia
($str);
echo
$str; // Imprime 'Si cambia'
Este
script mostrará por pantalla 'Si cambia'
Por ultimo. Parámetros
por defecto
Podemos
definir valores por defecto para los parámetros. Los valores por defecto sirven
para que los parámetros contengan un dato predefinido, con el que se
inicializarán si no se le pasa ningún valor en la llamada de la función. Los
valores por defecto se definen asignando un dato al parámetro al declararlo en
la función.
function
pordefecto ($parametro1="pepe";$parametro2=3)
Para
la definición de función anterior, $parametro1 tiene como valor por defecto
"pepe", mientras que $parametro2 tiene 3 como valor por defecto.
Si
llamamos a la función sin indicar valores a los parámetros, estos tomarán los
valores asignados por defecto:
pordefecto
() // $parametro1 vale "pepe" y $parametro2 vale 3
Si
llamamos a la función indicando un valor, este será tenido en cuenta para el
primer parámetro.
pordefecto
("hola") // $parametro1 vale "hola" y $parametro2 vale 3
Estructura Básica de un
Documento PHP.
Método POST y GET en
formularios PHP.
Método GET
El
uso de GET en formularios, salvo que el desarrollador sepa muy bien lo que hace
y los datos no sean comprometidos, no debe usarse para otras cosas diferentes a
los formularios de búsqueda. El motivo es sencillo, el método GET lo que hace
es pasar las variables y sus valores por la URL, es decir, no solo queda a la
vista de cualquier usuario, sino que además la información puede quedar guardada
en el historial del navegado.
Método POST
Este
método sólo se puede usar con formularios, y la información no se envía por la
URL sino que es invisible al usuario (eso en teoría porque usando firebug
podríamos ver que se envía en realidad).
¿Para
qué sirve POST?
pues
para enviar grandes campos de texto, subir imágenes, para no distorcionar
nuestra URL amigable con un colección de variables.
¿Cómo
las envío?
Pues
así:
1
2
3
<form
name="miformulario" action="mipagina.php"
method="POST">
<input type="text"
size="20" name="mivariable1">
</form>
¿Cómo
recibo las variables?
Pues
depende si usamos GET o POST, quedaría algo así
1
2
echo
$_GET['mivariable']:
echo
$_POST['mivariable']:
Variables
en una web modular
Es
exactamente igual que si no fuera modular, tengamos presente que los valores
GET y POST se comparten entre todos los archivos que fueron incluidos en la web
modular ya que estos se unen como un todo, de tal forma que si envio esto:
<form
name="miformulario" action="index.php?page=mipagina"
method="POST">
<input type="text"
size="20" name="mivariable1">
</form>
Puedo
invocar a la variable POST en cualquiera de los archivos que la componen,
header, footer y por supuesto contenido.

Comentarios
Publicar un comentario