Archivo de la categoría: Programación Web

PHP 7 nuevas características

Scalars Type hints:

PHP 7 agrega los type hints int, float, string y bool a los que ya existian que era Objetos y array.

function sendEmail(string $email, int $times, float $number, bool $sendNow = TRUE) {
    //..
}

Esta declaración no fuerza la comprobación, solo intenta convertir el valor al tipo declarado. Si agregamos la directiva declare(strict_types=1); al principio del archivo, si forzaremos la comprobación, pero solo en ese archivo.

Return type hints

Tambien podemos utilizar los mismos para el retorno de funciones o métodos

function sayHello(string $name) : string {
    return 'Hello '.$name;
}

Si retornamos otro valor, recibiremos un error \TypeError.

Anonymous classes:

Generator delegation:

Generator return expressions:

The null coalesce operator:

Este nuevo operador (??) nos permite escribir expresiones más cortas.

$name = $_GET['name'] ?? 'N/A';

Retorna el valor del primer operando si existe y es distinto de null sino, devuelve el segundo operando.

The spaceship operator:

Nos permite hacer comparaciones de «3 vías», es decir que el resultado de la comparación puede ser true, false y otro valor más. (expr) <=> (expr)
Este operador retorna:
A. 0 si los operandos son iguales
B. 1 si el operando de la izquierda es mayor
C. -1 si el operando de la derecha es mayor

Constant arrays

// Constante de clase
class MyApp {
    const APP = [
        'name' => 'MyApp',
        'edition' => 'Beta',
        'version' => '2.1.2',
        'licence' => 'MIT'
        ];
}

interface MyApp {
    const APP = [
        'name' => 'MyApp',
        'edition' => 'Beta',
        'version' => '2.1.2',
        'licence' => 'MIT'
        ];
}
// Constante utilizando define
define('APP', [
        'name' => 'MyApp',
        'edition' => 'Beta',
        'version' => '2.1.2',
        'licence' => 'MIT'
        ];
}

Uniform variable syntax:

Throwables:

 

PHP Cheat Sheet

Fechas:

Calcular 1er día del mes y primer día del siguiente mes a partir de una fecha

$fechaMes1 = new \DateTime('now');
//formateo la fecha para que sea desde el principio de mes
$fecha1Desde = \DateTime::createFromFormat('Y-m-d H:i:s', $fechaMes1->format('Y-m') . '-1 00:00:00');
//fin de mes
$fecha1Hasta = clone $fecha1Desde;
$fecha1Hasta->modify('+1 month');

Array:

Buscar la existencia de un valor en un array multidimensional indexado

$key = array_search('ValorABuscar', array_column($arrayDondeBuscar, 'nombreColumna'));

EXTJS Cheat Sheet

Crear App

sencha -sdk /path/to/extjs/framework generate app AppName path/to/app
cd /path/to/app
sencha app watch

Crear App a partir de template

sencha -sdk /path/to/extjs/framework  generate app -s /path/to/extjs/template  AppName path/to/app
cd /path/to/app
sencha app watch

Actualizar CMD

sencha upgrade