Entradas

GraphQL en Zend Expressive 3

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

PHP en Google compute engine + cloud sql

Imagen
Hoy en día los servicios en la nube son una clara alternativa a la hora de alojar un sitio web, ya no es necesario un servidor dedicado con las prestaciones y herramientas que ofrecen Google, Amazon o Azure.
En el caso de Google existen alternativas más sencillas para alojar un sitio web que las de utilizar compute engine (una maquina virtual), me refiero a app engine, pero a mi parecer se pierde mucho control sobre las prestaciones que queramos tener. En este post pienso hablar de como instalar nginx con soporte para http2 y php 7.2 en una maquina virtual con CentOS 7, además de enseñar a configurarlo para utilizar una base de datos MySQL 5.7 almacenada en el servicio cloud SQL de Google.
A la hora de sar de alta estos servicios es muy recomendable que esten en la misma zona geográfica, tanto la maquina virtual como la instancia de MySQL.
Una vez creada nuestra instancia de maquina virtual instalaremos nginx y comprobaremos su configuración con:
nginx -V nginx -t
Ahora sólo nos qued…

Microsoft ODBC 17 + SQL server driver 5.2.0 RC1 previews

Imagen
Microsoft está apostando fuerte con SQL Server en Linux, aún le falta un IDE potente como SSMS pero el servidor y la conectividad con lenguajes como PHP está servida, ya no es necesario tener que compilar de cero PHP para tener paquetes que no están en producción, sobre todo de Microsoft, todo gracias a la ayuda del rempositorio de Remi y las contibuciones en github de la propia Microsoft.


Con esta base previa, hoy, me centraré en instalar el nuevo driver ODBC con soporte para Always Encripted, el driver de PHP 5.2 y todo con la última versión en el mercado de PHP, la 7.2. Los pasos a seguir son estos:

sudo yum -y install epel-release wget yum-utils sudo wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm sudo rpm -Uvh remi-release-7*.rpm sudo yum-config-manager --enable remi-php72 sudo yum install -y unixODBC-devel autoconf sudo curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
Ahora necesitamos instalar la última versi…