Resolving #PHP #composer conflicts

This problem is almost always caused by using unspecific version numbers in your composer.json, or relying on “dev-master” for too many requirements.  While it may work on the day you set up your project, as each project undergoes further development the chance increases that the head commit will introduce an incompatibility.

How to avoid this problem?

If you’ve already gone ahead and set up your requirements using dev-master or loose versioning (e.g. “~1.0.*”), you could manually work through your composer.json to resolve the version numbers by hand.  That will take some time, but you will end up with a cleaner and more reliable set of requirements.

Anuncios

Instalación automatizada de CMS y Frameworks en #Vagrant

vagrant logo

Si eres un desarrollador web, posiblemente una de las tareas más aburridas y repetitivas es la configuración básica para cada nuevo proyecto. Configurar su dominio, miproyecto.dev, crear la base de datos, instalar WordPress (o cualquier otro CMS/Framework) por milésima vez: ya sabes cómo hacerlo. ¿Qué pasaría si pudieras automatizar todo esto?

Bueno, en realidad, se puede.

Please es un simple  script de bash que ayuda a automatizar las instalaciones de muchos CMSs y Frameworks configurando automáticamente en tu Vagrant box, agregar un nombre de dominio de desarrollo en su archivo de host y una base de datos si es necesario.

 

Vamos a echar un vistazo.

 

Notificación Importante

 

Como Please aún esta en versión beta (0.3), sugiero que no lo utilizes inmediatamente en producción, pero puedes probarlo primero, para asegurarte de que todo funciona como requieres. No hay riesgo de perder datos y así sucesivamente, lo peor que podría suceder es que no funcione, pero siempre es mejor estar seguro.

Pre-requisitos

Así, en primer lugar, debe configurar un Vagrant box.

Si eres nuevo en Vagrant, te sugiero leer esta introducción para entender todo esto y comenzar de la mejor forma.

Un pequeño Vagrant box (un fork de box.scotch.io) se ha creado para este proyecto, y se ha llamado Please Box.

Aquí están todos los pasos para la instalación a través de línea de comandos:

git clone https://github.com/jehanf/please-box.git please-box
cd please-box
vagrant up

Please también requiere el plugin Vagrant HostsUpdater para que todo funcione correctamente. La instalación es bastante simple; Aquí está el comando para ahorrar algo de tiempo:

vagrant plugin install vagrant-hostsupdater

Eso es todo, todo listo para empezar a utilizar Please!

Instalar Please

Hay muy pocos pasos necesarios para instalar Please, como está escrito en la documentación oficial:

git clone  https://github.com/jehanf/please.git
sudo chmod +x please/please
sudo mv please/please /usr/local/bin/please && sudo rm -R please

La parte && sudo rm -R please es sólo para mantener su computadora limpia; puesto que la parte de git clone clona la carpeta completa del repositorio, incluido el archivo README, quizas no quieras esto en tu pc.

Uso

El comando básico para crear un nuevo proyecto es:

please create

Tambien puedes ecribir  please create <name of cms/framework>, como esta en la documenxtación.

please create  activará una pantalla de selección, como en la siguiente pantalla:

please select screen

Como puede ver, por ahora, las únicas opciones disponibles son:

  • un dominio simple dev personalizado (+ base de datos opcional)
  • WordPress
  • Symfony
  • Angular2
  • Laravel
  • Pagekit
  • ReactJS.

Veamos un  simple ejemplo de creación de proyectos. He elegido WordPress, ya que es el más utilizado.

Crear el ambiente del proyecto

Please te hará algunas preguntas para configurar tu nuevo ambiente y luego pedirte una simple confirmación, como se puede ver a continuación:

Create a WordPress install with Please

Please utiliza WP-CLI para realizar la instalación, puedes elegir actualizar antes de que comience. Y si no está instalado (en tu Vagrant), se instalará automáticamente (aunque escojas que no), ya que es necesario.

Todo lo que necesitas hacer ahora es presionar Y o simplemente pulsar el botón Enter e ir a tomar un café.

Mientras tanto, Please hará lo siguiente:

  • hacer una carpeta (llamada por el nombre del sitio que has definido antes, demoforsitepoint.dev).
  • configurar un  Virtual Host en el equipo (igual que la carpeta: demoforsitepoint.dev).
  • descargar la última versión de WordPress.
  • crear la base de datos de WP (también llamado demoforsitepoint.dev).
  • generar el wp-config.php y hacer la instalación de WordPress.
  • reiniciar tu Vagrant box.

Puede ahora visita a su sitio (demoforsitepoint.dev ) y empezar a trabajar.

¿Ahora que este tutorial de creación termino, tal vez quieras eliminar esto demoforsitepoint.dev?

Eliminar un proyecto

Un simple comando:

please delete

Hará unas cuantas preguntas (incluyendo una confirmación), y Please borrará todo y reiniciará su Vagrant box.

Advertencia: puesto que el proyecto se elimina en el lado de Vagrant, no hay forma posible de revertir esto.

Conclusión

Como pudistes ver, Please no tiene el poder (¡todavía!) de Yeoman cuando se trata de crear un proyecto de inicio, pero podría ser suficiente para algunas situaciones.

 

Understanding #Laravel Middleware

HTTP Middlewares provide a convenient mechanism for filtering HTTP requests entering your application. Laravel, for example, has a middleware for verifying a user’s authentication.

Some Middleware Use-Cases

  • Using a middleware to confirm the incoming route request API key. Assuming you are building an API.
  • Rate-limiting a service call.
  • Change the site language based on locale.
  • Enable site-wide maintenance.
  • Sniffing bot traffic.
  • Logging.

Linkhttps://scotch.io/tutorials/understanding-laravel-middleware

Migrate to #Git from #SVN #webdevelopment

Learn how to migrate SVN-to-Git into 5 simple steps:

  1. Prepare your environment for the migration.
  2. Convert the SVN repository to a local Git repository.
  3. Synchronize the local Git repository when the SVN repository changes.
  4. Share the Git repository with your developers via Bitbucket.
  5. Migrate your development efforts from SVN to Git.

 

Linkhttps://www.atlassian.com/git/tutorials/migrating-overview