Entradas

Habilitar CORS en GraphQL y Zend Expressive 3

Encontré este artículo que me dió la pista de como hacerlo, pero es de 2017, con lo cual me encontré con múltiples errores. Aquí os dejo la guía detallada de cómo habilitar CORS para las últimas versiones de GraphQL y demás librerias implicadas.
Instalamos las dependencias
composer require tuupola/cors-middlewarecomposer require zendframework/zend-problem-details
Creamos la factoría dónde pondremos nuestros valores por defecto y la gestión de errores en JSON (disponible en github)

Editamos el archivo de dependencias

Tuupola\Middleware\CorsMiddleware::class => App\Factory\CorsMiddlewareFactory::class
Y por último habilitamos el middleware en pipeline.php
use Tuupola\Middleware\CorsMiddleware; ... // $app->pipe(ImplicitOptionsMiddleware::class); $app->pipe(CorsMiddleware::class);

Constitución cubana 1976 vs 2018

Imagen
Este post es bastante offtopic. Por curiosidad, y sin ser lingüista ni hacer un análisis muy detallado, he pillado la constitución cubana de 1976 y la he comparado con el nuevo proyecto que se quiere aprobar ahora. La comparación no va más allá que ver el uso de las palabras, si algún lingüista le apetece, yo encantado le paso los datos para que haga un análisis más profundo.


En fin, sin enrrollarme más, vamos al grano.
¿Qué palabras son las más utlizadas?
Aquí no hay mucha diferencia, ¡qué sorpresa! Quitando artículos, conjunciones, preposiciones, etc..., nos quedaría que en ambas constituciones las palabras más utilizadas son: estado, poder, popular, nacional, ley (leyes), asamblea, consejo, constitución, república.
¿Qué hay de nuevo?
En el nuevo proyecto se han agregado alrededor de mil palabras nuevas, entre ellas, las más utilizadas son: conformidad, ministro, gobernador, garantizar, directivos, familias, información, autonomía, inversión, proteger, desastre, magistrados, financ…

GraphQL en Zend Expressive 3

Imagen
Voy a intentar hacer una guia de paso a paso para utilizar GraphQL en Zend Expressive 3. Existe algo de documentación por la red pero, o está incompleta o desactualizada, por eso me he decidido a hacer este manual.
¿Que vamos a utilizar?
La última versión de Zend Expressive 3 y la implementación de GraphQLpara PHP hecha por webonyx.
Otro día hablaré del por qué Zend Expressive.
¿Comenzamos?
Lo primero es crear un proyecto
$ composer create-project zendframework/zend-expressive-skeleton graphql-expressive
Recuerda que el directorio graphql-expressive debe estar vacío.

Ahora añadimos las dependencias para GraphQL

$ cd graphql-expressive $ composer require webonyx/graphql-php
Ahora vamos con el código, lo primero que haremos será configurar un middleware para procesar correctamente las peticiones en JSON, editamos el archivo config/pipeline.php agregando estas dos líneas: use Zend\Expressive\Helper\BodyParams\BodyParamsMiddleware; ... $app->pipe(BodyParamsMiddleware::class);
Primero …

Personalizar las tablas users y password_resets en Laravel 5.6

Imagen
La autenticación en Laravel es un proceso muy sencillo, pero de tan sencillo personalizarlo tiene sus detalles, en este post veremos como personalizar, en parte, las tablas de usuarios y reinicio de contraseñas.


Según lo estricto que seas con la estructura de tu base de datos y el formato que hayas elegido seguir puede que los valores de los campos y las tablas por defecto de Laravel no sean de tu agrado, como es mi caso, por ejemplo: Laravel prefiere minúsculas y plurales para los nombres de las tablas, yo utilizo UpperCamelCase y singular. Para los nombres de los campos Laravel utiliza guión bajo (underscore) y minúsculas, yo prefiero lowerCamelCase, con lo cual, necesito renombrar los siguientes campos de estas tablas: remember_token - rememberToken created_at - createdAtupdated_at  - updatedAtid - userId Y renombrar las tablas:
users - Userpassword_resets - PasswordReset Si utilizas las migraciones de Laravel tienes que cambiar los nombres de las tablas y los campos en los archiv…

Instalar PHP APCu en CentOS 6.9

Utilizando los repositorios de remi podemos instalar muy fácilmente APCu siguiendo este comando
sudo yum install php-pecl-apcu
Si os da este error con reiniciar apache o nginx es suficiente.
Installing : php-pecl-apcu-bc-1.0.3-6.el6.remi.7.1.x86_64 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/apc.so' - /usr/lib64/php/modules/apc.so: undefined symbol: zif_apcu_store in Unknown on line 0

Instalar última versión de Nodejs en CentOS 7 con yum

Node proporciona en su web un rpm con los repositorios para instalar sus últimas versiones en CentOs.
cd /tmp sudo curl --silent --location https://rpm.nodesource.com/setup_9.x | sudo bash - sudo yum install -y nodejs gcc-c++ make node -v v9.5.0 npm -v 5.6.0

Instalar última versión de Git en CentOS 7 con yum

Gracias a los repositorios del proyecto IUS podemos tener las últimas versiones de Git instaladas con yum en nuestro CentOs, es válido para las versiones 6 y 7 de esta distribución de linux.
sudo yum install https://$(rpm -E '%{?centos:centos}%{!?centos:rhel}%{rhel}').iuscommunity.org/ius-release.rpm sudo yum install yum-plugin-replace sudo yum replace git --replace-with git2u git --version --- git version 2.16.1