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