Home | Clases | Programación en PHP | Introducción

Introducción


Introducción

Cualquier aplicación PHP es un conjunto de instrucciones con una sintaxis derivada de C y Perl en sus orígenes, y muy influenciada por el estilo orientado a objetos de Java en las versiones más actuales. No obstante, la sintaxis de PHP sigue siendo bastante sencilla y fácil de entender.

Si bien se utiliza como lenguaje de programación puro, en sus orígenes se creó como procesador de texto (PHP: acrónimo recursivo de Hipertext Preprocessor), y por tanto puede ser introducido en ficheros de texto mediante el uso de etiquetas dedicadas, que pueden ser de cuatro tipos:

Standard tags: la opción por defecto y más recomendada y la que más compatibilidad ofrece, ya que no se puede desactivar en las preferencias.

<?php
...code
?>

Short tags: en su momento fueron el estándar y siguen siendo muy practicas sobre todo a la hora de incluir echos en HTML, pero hayq eu asegurarse de que si las portamos a otro sistema éste las tenga habilitadas len la configuración.

<?
...code
?>

<?= echo $variable ?>

Script tags: Se crearon para que los editores HTML que no estuvieran preparados pudieran ignorar PHPO del mismo modo que ignoraban JavaScript.

<script language="php">
...code
<script/>

ASP tags: nadie sabe muy bien por qué se crearon, pero ahí están.

<%
...code
%>

Hoy en día, todas las formas que no son standard tags se consideran obsoletas (deprecated) y no se deben utilizar.

La anatomía de un script PHP es un conjunto de instrucciones o statements que, salvo ciertas excepciones, deben terminar con ; (punto y coma). Una excepción a esta regla sería, por ejemplo, la última instrucción antes del cierre de la etiqueta de php.

una_instruccion();
$variable = 'valor';

Para añadir comentarios a un script PHP, podemos utilizar varias formas:

// Comentario de línea simple

# Comentario de línea simple

/*
 * Comentario multilínea
*/

Es posible utilizar todos los espacios en blanco o tabuladores que requiramos para organizar nuestro código, siempre que no los utilizamos entre palabras reservadas (whi le, for each), nombres de variables ($nombre variable) o etiquetas de entrada o salida (<? php).

Los constructores del lenguaje son elementos construidos "dentro" de PHP y tienen sus propias reglas. Éstos son algunos ejemplos:

echo 10; //mostrará 10, pero no es una función
print (10); //devolverá y mostrará 10, porque es una función
die(); //termina la ejecución del script y devuelve un valor, es un alias de exit()


Estructuras condicionales

Las estructuras condicionales nos permiten cambiar la ejecución del script en función de una o más condiciones:

if (expresion1){
...code
} elseif (expresion2) {
...code
} else {
...code
}

Existe además la posibilidad de anidar varias sentencias if, aunque no es una buena práctica porque se pierde la inteligibilidad del código.

También es posible ejecutar un sentencia if-then-else mediante un operador ternario en una sola línea:

echo (10 == $x) ? "x vale 10" : "x no vale 10";

Cuando tenemos varias sentencias anidadas, es una buena práctica sustituirlas por una estructura de tipo switch:

$semana = ['L', 'M', 'X', 'J', 'V', 'S', 'D'];
$dia = $_POST['boton'];
switch ($semana[$dia]){
case "L": echo "Lunes";
break;
case "M": echo "Martes";
break;
case "X": echo "Miércoles";
break;
case "J": echo "Jueves";
break;
case "V": echo "Viernes";
break;
case "S": echo "Sábado";
break;
case "D": echo "Domingo";
break;
default: echo "¡No se qué día es!";
break;
}

Nota: En las sentencias switch, se podría evitar el break devolviendo en cada case el valor o el echo con un return.

Bucles de control

Los bucles de control nos permiten ejecutar trozos de código de forma iterativa varias veces.

Los más simples son while y el do while, cuya diferencia radica en cuándo se realiza la operación (antes de la comprobación en el caso de do while o después en el caso de while):

$i = 0;
//bucle while que imprime 0123456789
while ($i<10){
echo $i;
$i++;
}

//bucle do while que imprime 012345678910
do{
echo $i;
$i++;
} while ($i<10);

El bucle for nos permite realizar iteraciones más precisas que los while, además de facilitar la lectura del código y evitar errores de loop en nuestro código. El bucle foreach es un tipo especial de for que nos permite recorrer arrays sin necesidad de utilizar un índice:

$i = 0;
//bucle for que imprime 0123456789
for ($i=1; $i<10; $i++){
echo $i;
}

//bucle foreach que imprime LMXJVSD
$semana = ['L', 'M', 'X', 'J', 'V', 'S', 'D'];
foreach ($semana as $dia){
echo $dia;
}

En todos los bucles, es posible interrumpir el bucle mediante el uso del comando break o utilizar el comando continue para indicar cuándo seguir con la iteración:

$i = 0;
//bucle for que imprime 01236789
for ($i=1; $i<10; $i++){
if ($i > 3) AND ($i < 6){
continue
}
echo $i;
}

//bucle while que imprime 0123456
while ($i<10){
if ($i > 6){
break;
}
echo $i;
$i++;
}


Funciones

La clave de la programación en PHP esta, sin duda, en el uso de funciones: la capacidad de encapsular cualquier trozo de código y luego llamarlo en cualquier momento desde otra parte del código.

En este capítulo veremos como escribir funciones, mientas que en posteriores unidades veremos cómo usarlas.

La sintaxis básica de la funciones es la siguiente:

function di_hola() {
echo "hola";
}
di_hola(); //muestra hola

function devuelve_hola() {
return "hola";
}
$texto = devuelve_hola(); //asigna el valor "hola" a $texto
echo $texto; //muestra hola

Acerca de los nombres de funciones en PHP:

  • no son case-sensitive (al igual que los identificadores tipo echo o similar)
  • solo pueden contener letras, números o el caracter guión bajo.
  • no pueden empezar por un número

También es posible devolver más de un valor con funciones mediante el uso de arrays:

function hola() {
$a = "Hola amigo";
$b = "¿Cómo estas?";
return [$a, $b]; //o también return array($a, $b)
}
list($texto1, $texto2) = hola();
echo $texto1; //muestra "Hola amigo"
echo $texto2; //muestra "¿Cómo estas?"


Ámbito de variables

En PHP nos encontramos tres posibles ámbitos para cada variable: global, function o class (este último lo veremos en programación orientada a objetos).

El ámbito global está disponible en todas las partes de un script: si declaramos o asignamos una variable fuera de una función, esa variable tendrá ámbito global.

Sin embargo, cada vez que entramos en una función, PHP crea un nuevo ámbito vacío, de modo que las variables que se creen dentro de la función tendrán ámbito function y solo estarán disponibles dentro de ella.

Por último, para acceder a una variable de ámbito global dentro de una función, podremos hacerlo de tres maneras diferentes:
  • "importando" la variable dentro de la función con la sentencia global
  • usando el array de globals $_GLOBALS
  • "pasando" argumentos a la función

El siguiente código muestra ejemplos de los diferentes tipos de ámbitos y de cómo acceder a las variables:


$a = "Hola"
function hola() {
$a = "Hola amigo";
$a = "¿Cómo estás?";
}
hola();
echo $a; //imprimirá "Hola"
echo $b; //emitirá un Warning

$a = "Hola amigo";
$b = "¿Cómo estás?";
function hola() {
global $a, $b;
echo $a." ".$b;
}
hola(); //imprimirá Hola amigo ¿Cómo estás?

$a = "Hola amigo";
$b = "¿Cómo estás?";
function hola() {
echo $GLOBALS['a']." ".$GLOBALS['b'];
}
hola(); //imprimirá Hola amigo ¿Cómo estás?

$a = "Hola amigo";
$b = "¿Cómo estás?";
function hola($a, $b) {
echo $a." ".$b;
}
hola(); //imprimirá Hola amigo ¿Cómo estás?

Fecha de publicación: 06/09/2019
Asignaturas: desarrollo web en entorno servidor
Temas: php variables bucles arrays
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos