Warning: Use of undefined constant kk_online_users_widget_register - assumed 'kk_online_users_widget_register' (this will throw an Error in a future version of PHP) in /home/kikoseijo/public_html/wp-content/plugins/aksoft-wp/aksoft-wps.php on line 84 Desarrollo de aplicaciones móviles en Málaga - Página 2 de 4 - iOS, Android, API, Laravel y Lumen, React y React-native, Vuejs, multiplataforma
This project it’s no longer maintained in favor of v2 of nuwave/lighthouse.
You can find an example implementation for lumen on: https://github.com/kikoseijo/lumen-lighthouse-graphql
A GraphQL Server in PHP, its core its a fast micro-framework implementation (Lumen), and capable of delivering GraphQL (Relay) API responses.
React-Relay Modern, aka GraphQL v1.*
Visit repository
Introduction
On this Lumen version of a GraphQL server implementation you will be able to start coding right away a fully qualified GraphQL server with support for react-relay (Modern version).
With a Laravel heart, on his delighting micro-framework version (Lumen) and a help of a couple of other packages/plugins, we provide you with the basic server setup.
Why Lumen? and why PHP?
Why not my little Artisan? PHP limitations today for a GraphQL server are asynchronous calls, but this are problems PHP programmers been dealing with since the old days, the missing part are the GraphQL subscriptions, this can be resolved using lots of tools, like Redis or NodeJS.
PHP never been so optimized like it is today, its stable, fast and efficient. And Lumen?, because its a masterpiece, a lightweight version of Laravel, sharing same core and data structure. Perfect for building APIs.
For little Artisan like myself this is the perfect atmosphere to understand how things are achieved.
Who is this for?
People wanting to get hands dirty with GraphQL, to serve as a boilerplate to kick-off API projects, a knowledge of Laravel its recommended, at a installation level, not covered here.
Included features
Full CRUD example.
GraphQL Playground.
Database migrations.
GraphQl database schema generator and endpoint.
User authentication using Passport.
Ready to start after setup!
Client Web App
If you work with React we have published for you an application, there you can test all demo features, its a React + Relay based Web App. This is probably best way to have a full picture of what Relay its capable off, in my opinion, one of the best facebook´s open sourced contribution and React´s best friend. 💑
The main purpose of this package its to generate on the fly several classes inside your projects,
on a clean an easy way will provide by default with full CRUD with Swagger generation on a clever and simple
way.
This are the main functionalities you can find on this package-library.
Wiki Index
Example:
We are going to create a full CRUD for the models Role inside a Subfolder
called Admin and route prefix v1 crud using the console
The full scope of this start making the models by generating the migrations, spend time on this, so, start by:
Creating your Migrations.
Make Seeders, its not strictly necesary, but you should…
Make your model (Working on automate this, follow this guide: Ethereal)
Generate CRUD: php artisan ksoft:krud Model
Generate Swagger: php artisan ksoft:swagger
Thats all, you got full working API, with its Swagger v2 Specks,
So, basicaly, instead of creating each of this configuration, this package does it for you, isnt it handy? will create the files for each model, this command will produce this files, extending all its base functionality from other packages thats provides an extra layer of functionality.
and now What?
Well, if yo got reading this far all this above might make sense to you, am i right?
You should concentrate in validation, make custom validations if you need them, if you havent done so when creating the models, othewise just concentrate on giving your app the customized functionality, you can overwrite all functionality thanks to the class this files extends from. Just follow the thanks section to have a deeper understanting of what all this is about, or checkout dependancies on composer.json-
Notes
Generating model directly from the table database its one of the next features, right now you could have it done with couple packages, them both not enabled right now.
Cuando hay muchas version de php tenemos que hacer malabares para fijar la que nos hace falta, con programas como Laravel debemos que funcionen también para los usuarios por comandos cuando hay que hacer los deploy.
El problema
Tenemos instalada la ultima versión de php pero composer se queja de que no está detectando la última version de PHP.
No podemos installar paquetes porque nos dice que el php no es compatible con lo que nuestro nuevo paquete necesita como requerimiento mínimo.
Soluciones
Las soluciones son varias, pero lo mejor es no tocar demasiado en las librerías instaladas, y mucho menos en un servidor dedicado con clientes con webs de mas de 10 años, donde actualizar php no es una opción viable.
Creo que una de las soluciones mas sencillas es crear unos alias en el perfil del usuario que tiene los problemas, ya sea en el .profile, .bashrc, .bash_profile. Dependerá de tu distribución y forma de lograrte en tu servidor.
Alias
Tendrás que editar el fichero que carga tu usuario al hacer login, añade las 2 primeras líneas, si quieres puedes añadir las demás también, no van a hacer ningún daño.
alias php="/usr/bin/php71"
alias composer="php /bin/composer"
// ya es estamos, vamos a darle mas comandos.
alias ka="php artisan"
alias kdump="composer dump autoload"
Espero os ayude, siempre es bueno tener esto a mano para no andar buscando lejos.
Os dejo un enlace al gist donde mantengo una version de las funciones mas utilizadas al preparar un nuevo servidor que va a correr Laravel.
Para que funcione hay que tener instalado Laravel Envoy, y crear un archivo en la raiz del projecto, desde donde se lanzan los camandos.
ej: envoy run deploy conectar al servidor, descarga el commit mas reciente del repositorio que hayamos preconfigurado en nuestro projecto, en nuestro repositorio publico privado y va a instalar los paquetes de del composer que encuentre nuevo.
Como programador avanzado una de las cosas que solemos tener son Snippets, los snippets sin trocitos de código fuente que solemos usar con frecuencia y por comodidad gracias a los atajos y editores de texto como Atom podemos tener nuestra librería de estos trocitos de código.
Sinceramente, cuando los usas ya no puedes vivir sin ellos, son de mucha utilidad cuando se hacen tareas repetitivas.
Los mio los comparto con el mundo entero a través de este plugin que he creado para Atom y recoge algunos de los lenguajes de programación que se trabajan en Atom. Entre ellos hay librerías de css, javascript o html, va creciendo a medida que se va haciendo necesario implementar nuevos.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lo primero, saber si necesitamos actualizar, vamos a asegurarnos que tienes un Centos7 y que tienes MariaDB5, para ello vamos a correr los siguientes comandos y ver si nuestro sistema es parecido al mío.
# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
# mysql -v
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.44-MariaDB MariaDB Server
Vale, ahora directamente vamos a eliminar mariaDB del sistema, no os preocupéis, esto no va a borrar ninguna base de datos, de todas formas, si te parece haz una copia de seguridad por si las moscas.
yum remove mariadb mariadb-server
Creamos el archivo donde vamos a añadir el repositorio de MariaDB
vi /etc/yum.repos.d/MariaDB.rep
copia y guarda el contenido de más abajo en este nuevo archivo.
# MariaDB 10.1 RedHat repository list - created 2016-02-06 03:30 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Ahora le vamos a decir que nos vuelva a instalar mariaDB, nos preguntará si nos fiamos de las firmas del repositorio, tenemos que decir que si, de lo contrario no podremos instalar.
yum install mariadb mariadb-server
Por ultimo, arrancamos nuestra recien instalada version de mariaDB10 y nos aseguramos que se arranca sola durante los reinicios.
En esta entrada os indico como actualizar la versión de PHP en un servidor Centos7. Sabemos que PHP7 cuatriplica la velocidad de procesamiento y reduce en un 30% la memoria que necesita, asi que después de valorarlo en algunos entornos en producción nos vemos obligados a instalarlos en todos los servidores nuevos que vamos creando.
Los comandos son sencillos, asumimos que los hacemos con root o si necesitas un sudoer puedes añadirle los comandos necesarios.
Antes de nada, para poder ejecutar el comando yum-config-manager necesitamos tener instalados la herramienta yum-utils, este grupo de herramientas del gestor de paquetes YUM de Centos que van a hacer la vida más fácil. Vamos a ello:
yum install yum-utils
Vamos a importar los repositorios de REMI y habilitarlos, simplemente tenemos que ejecutar un yum update y nuestros sistema estará de forma muy sencilla corriendo de forma nativa la version 7 de PHP.
Voilà, ahora si, lo verificamos y comprobamos que estamos corriendo la version de php elegida, ahora nuestro web server va a servir los WordPress’s 4 veces mas rápido y nuestro servidor puede dar servicio a muchos más clientes usando los mismos recursos.
[root@XXXX ~]# php -v
PHP 7.0.17 (cli) (built: Mar 14 2017 15:14:30) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
Os lo recomiendo si no lo habeis hecho todavía por miedo a los famoso upgrade.