Introducción rápida a PHP

Variables

  • SON una forma de almacenar datos de forma temporal
  • SIRVEN para guardar datos temporalmente y utilizarlos más de una vez
  • SE IDENTIFICAN anteponiendo un signo dólar $
$variable = 1;

Instrucciones

  • SON órdenes que se le dan al ordenador en forma de código fuente
  • SIRVEN para que el ordenador haga lo que necesitamos
  • SE IDENTIFICAN colocando un punto y coma ; al final de cada orden
print "Hola Mundo";
print $variable;
print 15;

Tipos de datos

  • SON el tipo de información que puede contener una variable
  • SIRVEN para saber qué puedo hacer con la información de esa variable (por ejemplo, si sé que la información es un número sabré que puedo hacer operaciones matemáticas)
// Número entero
$edad = 45;

// Número real (la coma se indica con un punto .):
$precio = 43.75;

// Verdadero o Falso:
// Disponemos de un tipo de datos llamado "boolean" que sirve para decir si algo es verdadero o no
$estoy_vivo = true;
$soy_italiano = false;

// Texto y otros datos:
// Todos los demás datos, son considerados "cadenas de texto" y se suelen delimitar entre comillas dobles:
$ciudad = "Buenos Aires";
$fecha_de_nacimiento = "25/08/1978";

Operadores matemáticos

  • SON símbolos que indican operaciones a realizar entre dos operandos
  • SIRVEN para efectuar operaciones matemáticas con números y variables numéricas
$suma = 10 + 15;
$resta = $a - $b;
$multiplicacion = 15 * $b;
$division = $a / $b;
$operacion_combinada = ($a + $b) * $c – (12 / 4 * $n);

Operadores de comparación

  • SON símbolos que permiten comparar dos valores
  • SIRVEN para comparar datos y variables obteniendo sí o no (true o false) como respuesta a la comparación
  • SE IDENTIFICAN agrupando los valores a comparar entre paréntesis
$es_igual_a = ($a == $b);
$es_distinto_que = ($a != $b);
$es_mayor_que = ($a > $b);
$es_mayor_o_igual_que = ($a >= $b);
$es_menor_que = ($a < $b);
$es_menor_o_igual_que = ($a <= $b);

Operadores lógicos

  • SON símbolos o palabras que evalúan dos o más valores como verdaderos o falsos
  • SIRVEN para evaluar la información y controlar el flujo de la misma
  • SE IDENTIFICAN agrupando los valores a evaluar entre paréntesis
($a AND $b) $a y $b deben ser verdaderos
($a && $b)  $a y $b deben ser verdaderos
($a OR $b)  $a o $b deben ser verdaderos
($a || $b)  $a o $b deben ser verdaderos
($a XOR $b) $a o $b deben ser verdaderos (pero no ambos)
(!$a)       $a NO debe ser verdadero

Estructuras de control de flujo

  • SIRVEN para modificar el flujo de ejecución de las instrucciones
  • SE IDENTIFICAN fácilmente si agrupamos las instrucciones entre llaves { }
if ($a == $b AND !$c) {
    print "$a es igual a $b";
}
while ($a < $b) {
    print "$a es menor que $b";
    $a = $a * 2;
}

Condicionales

  • SON estructuras de control para evaluar condiciones
  • SIRVEN para ejecutar determinadas instrucciones dependiendo de si una condición se cumple o no
// Ejecutar solo si la condición de cumple
if ($edad > 18) {
    print "Solo imprimo esto si la variable edad es mayor que 18";
}

// Ejecutar ciertas instrucciones si la condición se cumple y en caso contrario ejecutar otras instrucciones
if ($edad > 18) {
    print "Imprimo esto si la variable edad es mayor que 18";
} else {
    print "Pero si la condición anterior no se cumple imprimo esto otro";
}

// Evaluar más de una condición
if ($edad <= 11) {
    print "Eres un niño";
} elseif ($edad > 11 AND $edad < 14) {
    print "Eres preadolescente";
} elseif ($edad >= 14 AND $edad < 18) {
    print "Eres adolescente";
} else {
    print "Ya eres adulto";
}

Colecciones de datos (arrays)

  • SON una forma de almacenamiento que nos permite guardar varios valores del mismo o diferentes tipos en una misma variable
  • SIRVEN para agrupar valores
  • SE IDENTIFICAN con la palabra array
// Uso simple (cada valor se asocia implícitamente a su número de posición, comenzando en cero, dentro de la colección):
$coleccion = array("Pérez", "Juan", 75, 1.83, true);
print $coleccion[1]; // Imprime Juan

// Asociando a nombres de claves explícitos
$coleccion = array(
   "apellido" => "Pérez",
   "nombre" => "Juan",
   "edad" => 75,
   "estatura" => 1.83,
   "casado" => true
);
print $coleccion["nombre"]; // Imprime Juan

Estructura de control iterativa foreach

  • ES una estructura de control de flujo
  • SIRVE para repetir una misma acción de forma iterativa sobre cada elemento de una misma colección
$coleccion = array("manzana", "pera", "naranja");
// Imprime: La manzana está en la posición 0. La pera está en la posición 1. La naranja está en la posición 2.
foreach($coleccion as $posicion => $fruta) {
    print "La $fruta está en la posición $posicion. ";
}

$datos = array(
   "Apellido" => "Pérez",
   "Nombre" => "Juan",
   "Edad" => 75,
   "Estatura" => 1.83,
   "Casado" => true
);
// Imprime: Apellido:Pérez. Nombre:Juan. Edad:75. Estatura:1.83. Casado: 1
foreach($datos as $clave=>$valor) {
    print "$clave:$valor. ";
}

Funciones

  • SON grupos de instrucciones que pretendemos ejecutar varias veces. Del mismo modo que las variables almacenan datos, las funciones almacenan instrucciones
  • SIRVEN para reutilizar código
  • SE IDENTIFICAN anteponiendo la palabra function al nombre (para definirlas) y encerrando las instrucciones entre llaves
// Para definir una función
function calcular_iva($importe_bruto=0) {
    $iva = $importe_bruto * 0.21;
    $importe_neto = $importe_bruto + $iva;
    print "El IVA de $importe_bruto es $importe_neto \n";
}

// Para ejecutar el código de la función
calcular_iva(1500);
calcular_iva(303.45);
calcular_iva(100);
calcular_iva(97);

Clases

  • SON agrupaciones de variables y funciones
  • SIRVEN para crear colecciones de datos personalizadas
  • SE IDENTIFICAN anteponiendo la palabra class al nombre (para definirlas) y encerrando las variables y funciones entre llaves
// Para definir una clase
class Producto {
    public $denominacion = '';
    public $precio = 0.0;
    function guardar() {
        // instrucciones de la función guardar
    }
    function eliminar($producto=0) {
        // instrucciones de la función eliminar
    }
}

// Para usar una clase primero debemos crear una variable con el nuevo tipo de dato
$producto = new Producto();

// Para acceder a una variable dentro de una clase
$producto->precio = 100.75;
print $producto->precio;

// Para acceder a una función dentro de una clase
$producto->guardar();