sábado, 22 de diciembre de 2018

Fundamentos de PHP

Variables


Las variables en PHP, a diferencia de Java no están limitadas a un tipo único de datos, de forma que esta puede almacenar un entero o una cadena en el mismo archivo.

Para declarar una variable se debe anteponer el símbolo $ al nombre de la variable, es nombre puede contener caracteres alfanuméricos y guión bajo, pero no deben comenzar con un número.

Ejemplo:

<?php
$variable1;
$variable_entero = 12;
$variable_decimal = 20.56;
$variable_texto = "Bienvenido a PHP";
$variable_byte = true; 
?>

Sintaxis


Para iniciar código PHP se debe iniciar con la etiqueta <?php y terminar con la etiqueta ?>, este código puede ir junto con código HTML, que es el que le da toa esa flexibilidad y potencialidad en el desarrollo de aplicaciones web.

Ejemplo:
<?php
/* Aquí va el código */
?>

Nota: cuando el código el PHP puro, los IDE y el compilador no exigen cerrar las etiquetas.

Para comentar código se puede hacer de 3 formas:

Ejemplo:
<?php
/*
Comentario de bloque
*/

//Comentario de línea con  //

#Comentario de línea con  #
?>

Para imprimir texto o una variable en pantalla se usa la expresión echo.

Ejemplo
<?php
echo "Texto en pantalla";
?>

Nota: para algunos casos dentro del código HTML es necesario escribir el valor de una variable o cadena de texto y toda la expresión anterior se puede reemplazar por:

<?= "Texto en pantalla" ?>

El signo igual se interpreta como: php echo, pero debe ser usado solo para imprimir un valor a la vez.

Para conocer el valor de una variable se puede usar la función var_dump

Ejemplo:
<?php

$variable = "Bienvenidos al nuevo mundo";
var_dump($variable);

?>


Estructuras de control


En PHP se tiene una serie de estructuras de control, las principales son:

Condicional IF-ELSE

La condición va entre paréntesis, luego entre llaves las sentencias que se ejecutarán de ser verdadera la expresión, el ELSE es opcional y se puede declarar las sentencias que se ejecutaran si no se cumple esta condición:
<?php

$num1 = 5;
$num2 = 11;
$num3 = 8;

$mayor = 0;

#usando if

if ($num1 > $num2) {
    $mayor = $num1;
} else {
    $mayor = $num2;
}

if ($mayor < $num3) {
    $mayor = $num3;
}

echo "El número mayor de $num1, $num2 y $num3 es: $mayor";
?>

También podemos tener múltiples comparaciones mediante ELSE IF
<?php
$nota = 17;

#usando if
if ($nota >= 12 && $nota <=20) {
    echo "Aprobado";
} else if ($nota <12 nota="">=0) {
    echo "Desaprobado";
} else {
    echo "Nota inválida";
}
?>

Las comparaciones IF - ELSE pueden ser reemplazadas por un operador ternario

Ejemplo:
<?php
$valor = true;
#usando if
if ($valor) {
    echo "Verdadero";
} else {
    echo "Falso";
}

#Usando ternario
$valor ? "Verdadero" : "Falso";

#Evaluando si una variable posee contenido
$val = ""; //Sin contenido
$resultado = ($val) ?: 'Vacío'; //Asigna 'Vacío' a $resultado

$val = "Hola"; //Con contenido
$resultado = ($val) ?: 'Vacío'; //Asigna 'Hola' a $resultado
?>


Condicional iterativo SWITCH y de transición BREAK

Es una serie de IF-ELSE IF-ELSE IF- ... - ELSE

<?php
$mes = 6;

switch ($mes) {
    case 1:
        echo 'Enero';
        break; 
        //BREAK evita que se sigan realizando comparaciones
    case 2:
        echo 'Febrero';
        break;
    case 3:
        echo 'Marzo';
        break;
    case 4:
        echo 'Abril';
        break;
    case 5:
        echo 'Mayo';
        break;
    case 6:
        echo 'Junio';
        break;
    case 7:
        echo 'Julio';
        break;
    case 8:
        echo 'Agosto';
        break;
    case 9:
        echo 'Septiembre';
        break;
    case 10:
        echo 'Octubre';
        break;
    case 11:
        echo 'Noviembre';
        break;
    case 12:
        echo 'Diciembre';
        break;
    default:
        break;
}
?>

Repetitiva FOR, WHILE, FOREACH

Para su uso, se puede utilizar un arreglo de datos (array), en este caso es más recomendado el uso del FOREACH.

Cuando se conoce el número de iteraciones que se debe hacer, es recomendado el uso del FOR, ya que permite avanzar la iteración de 1 en 1 o en diferente forma, mediante el uso de un operador incremental.
<?php
$persona[]="jhon";
$persona[]="paul";
$persona[]="argos";

echo $persona[1];
var_dump($persona);

#FOR
for ($u = 0; $u < count($persona); $u++) {
    echo $persona[$u]."<br>";
}
#FOREACH

foreach ($persona as $indice => $dato) {
    echo $indice." ::: ".$dato."<br>";
}
?>


Cuando se desconoce el número de iteraciones que se deben realizar se recomienda el uso del WHILE.
<?php
$nota = 0;
$intento = 1;

#WHILE
while($nota < 12) {
    echo "Aún desaprobado - Intento: " . $intento;
    ++$intento;
    $nota++; 
}

echo "Aprobado en el intento: " . $intento;
?>


Funciones y procedimientos


La sintaxis de ambos es muy similar, su diferencia radica en que los procedimientos no devuelven ningún valor, mientras las funciones tienen un valor de retorno.

Ejemplos:
<?php
#Función
function promediar($a = 0, $b = 0) {
    return ($a + $b) / 2;
}

#Procedimiento
function saludo($a = '') {
    echo 'Hello ' . $a;
}
?>

Entrada y salida


PHP tiene como método de entrada a GET y POST, se recomienda el uso de POST siempre y cuando sea posible y los datos no sean muy sensibles, para búsquedas públicas o que no requieran mucha seguridad, el método GET es el ideal, ya que muestra el dato en la barra de direcciones.
Ejemplo
<?php
$dia = $_GET['txtdia'];
$clave = $_POST['clave'];
?>

Por cuestiones de seguridad y adaptándonos a los nuevos cambios se reemplaza lo anterior por:
<?php
$dia =  filter_input(INPUT_GET, 'txtdia', FILTER_SANITIZE_STRING);
$clave = filter_input(INPUT_POST, 'clave', FILTER_SANITIZE_STRING); 
?>


sábado, 15 de diciembre de 2018

Operadores de JavaScript

Operadores de JavaScript

Tenemos operadores aritméticos, relacionares y lógicos.

Operación aritmética Operador en JS Ejemplo
Adición + 10 + 2 = 12
Sustracción - 10 - 2 = 8
Multiplicación * 10 * 2 = 20
División / 10 / 2 = 5
Potencia Math.pow()
**
Math.pow(10 , 2) = 100
10 ** 2 = 100
Raíz Math.sqrt() Math.sqrt(100) = 10
Residuo % 10 % 2 = 0
10 % 3 = 1
Parte entera Math.trunc() Math.trunc(10 / 3) = 3
Math.trunc(2.34) = 2


Uso de Incrementos ++ y decrementos --

Si el operador va antes de la variable, primero se realiza esa operación. Si el operador va despues, la operación se ejecuta al final.


Operación En JS Resultados
Incrementos ++
let x = 10;
alert("++x = " + ++x);
alert("x = " + x);
let x = 10;
alert("x++ = " + x++);
alert("x = " + x);
++x = 11
x = 11


x++ = 10
x = 11
Decrementos --
let x = 10;
alert("--x = " + --x);
alert("x = " + x);
let x = 10;
alert("x-- = " + x--);
alert("x = " + x);
--x = 9
x = 9


x-- = 10
x = 9



Operador Operador en JS Ejemplo
Conjunción ( y ) && true && true = true
true && false= false
false && true = false
false && false= false
Disyunción ( o ) || true || true = true
true || false= true
false || true = true
false && false= false
Negación ( no ) ! !true = false
!false = true


Además, JS nos permite realizar comparaciones

Operador Operador en JS Ejemplo Resultado
Mayor > 12 > 10 "true"
20 > 30 "false"
Mayor o igual >= 12 >= 12 "true"
12 >= 10 "true"
Menor < 2 < 10 "true"
12 < 10 "false"
Menor o igual <= 2 <= 10 "true"
10 <= 10 "true"
Igual (valor) == "hola" == "hola" "true"
2 == "2" "true"
12 == 10 "false"
Idéntico (valor y tipo) === "hola" === "hola" "true"
1 === 1 "true"
1 === "1" "false"
Diferente <> 12 <> 10 "true"
12 <> 12 "false"

Estos operadores (lógicos y de comparación) son especialmente empleados en las estructuras condicionales y algunas repetitivas


Uso de asignación += -=

Permiten simplificar operaciones aritméticas en las que una variable cambia su valor al operarla por un valor y este nuevo resultado se almacena en la misma variable. Ejemplo de JS embedido en HTML

<script type="text/javascript">
   let a, b, c;
   a = b = c = 10;

   a *= 3; // Equivalencia a = a*3
   b += a; // Equivalencia b = b+a
   c -= 2; // Equivalencia c = c-2 
</script>