Configuración de un Proyecto Local PHP de GitHub Hosted en OS X

Este artículo forma parte de la serie Asher Lo Explica Todo

He comenzado un nuevo proyecto de GitHub titulado asherwunk / phuxer, que es esencialmente un juego de texto basado en PHP / servidor de chat. La idea original es construir un servidor MU * en PHP, pero si estoy construyendo un servidor de procesamiento de texto desde cero, va a hacer bastantes cosas. Mis ambiciones son para que sea capaz de implementar algunas funciones de IRC, Jabber, MU * y Web, todas ellas convertidas en una única potencia para el juego de roles basado en texto y la socialización.

Otra razón que estoy construyendo es aprender sobre la implementación de lenguajes de programación, como en la construcción de lexers y analizadores y qué no. Una de las cosas que pensé que sería genial, y esto puede o no puede ser plenamente realizado, es si el motor fue capaz de divorciar el almacenamiento y la aplicación de los objetos del mundo del juego de su programación. Entonces, el mundo del juego podría cargar y ejecutar programas en diferentes idiomas, permitiendo que el código MUSH, MUF, MPI, LPC y tal vivan al lado del otro. Esto es, por supuesto, probablemente no va a suceder, pero sería algo genial!

Normalmente uso Cloud9 para mi desarrollo de programación (como lo he hecho en proyectos como asherwunk / phabstractic), sin embargo para depurar la funcionalidad del servidor de la programación tengo que tener más control sobre la caja del host. Hay algunos puertos abiertos y escuchables en Cloud9, y pude servir con éxito desde un servidor HTTP de React PHP desde la instalación, pero no pude realizar telnet en el puerto, lo cual es necesario. Del mismo modo, Cloud9 por varias razones no tiene instalado telnet por defecto.

Así que ahora estoy programando en mi propia caja con mis propias herramientas. Para ello, necesito cuatro funcionalidades: PHP7, Github, Composer y PHPUnit. Así que vamos a ver cómo podemos hacer que esto suceda.

Desarrollo en OS X

OS X es un sistema operativo muy potente proporcionado por Apple para sus computadoras de escritorio. Lo bueno de OS X es que usted puede obtener las herramientas para la programación para el sistema operativo de forma gratuita. Con el fin de instalar nuevos paquetes y otras herramientas de línea de comandos, que vamos a hacer en este post, necesitará al menos un compilador. Un compilador toma el código de programación y lo convierte en un programa que la computadora puede entender. Para obtener todas las herramientas de desarrollo, incluidas las herramientas de línea de comandos, disponibles para un programador de OS X, debe instalar el paquete de desarrollador XCode en el Mac App Store:

xcode

Cuando instalé XCode era un paaaiiinn. No sé por qué, pero bastante colgado por un largo tiempo y luego actualizado muy lentamente. Casi he reiniciado y reiniciado mi computadora, lo que probablemente había atornillado cosas, pero he leído que esto podría ocurrir, por lo que acaba de dejar que se sienta. Realmente completó todo el camino, pero pensé que mi equipo estaba roto un par de veces. Es sloooooow.

Una vez que tenga instalado, ahora debe tener todas las herramientas de desarrollo necesarias. Ahora es el momento en que trabajamos con alguna gestión de paquetes.

Homebrew

OS X se basa en un entorno UNIX y su terminal lo refleja. Esta cosa agradable sobre OS X, en mi opinión, es que usted puede funcionar y compilar cualquier código que está hecho básicamente para compilar para un sistema estándar de Linux. Hay excepciones, por supuesto, pero ha habido muchas muchas veces que he descargado alguna fuente directamente desde Internet y compilado con éxito para su uso en mi máquina.

Sin embargo, algo que OS X falta es un gestor de paquetes. Para mi caja de Ubuntu, puedo utilizar todo tipo de comandos como apt-get para instalar módulos de software que de otro modo tendría que descargar, verificar dependencias y compilar a mano.

Introduzca Homebrew para OS X, un gestor de paquetes muy parecido a los incluidos en otras distribuciones de Linux.

Homebrew es bastante fácil de usar, y bastante fácil de instalar. Una vez que haya instalado XCode, abra una ventana de terminal (en la carpeta Utilidades de las Aplicaciones) y escriba:

Ahora, lo hará es cosa, y podría pedirle algo de entrada, y voila, usted tiene un gestor de paquetes.

En realidad, tuve que instalar wget en mi máquina (le faltaba), lo que es sorprendente, pero ahí lo tienes. Por ejemplo, para instalar algo como wget, puede seguir estos pasos:

  1. Busque para ver qué paquetes están disponibles escribiendo:   brew search wget
  2. En la consola, homebrew listará los paquetes disponibles con una marca de verificación junto a los paquetes que ya ha instalado.
  3. En mi caso, quería la utilidad wget, así que ahora que conozco el nombre, puedo instalar escribiendo:   brew install wget

Hay un número diferente de órdenes para el brew. Puede encontrar más información sobre el uso de brew en su página Github.

PHP 7

Ahora que tenemos las herramientas de desarrollo para compilar cosas y un gestor de paquetes para hacer nuestras vidas más fáciles, es hora de instalar PHP 7. Me gusta la última versión de PHP, y es super rápido, así que he decidido que eso es lo que quiero usar. OS X viene preinstalado con una versión anterior de PHP, 5.6 o así, por lo que vamos a instalar PHP 7 por nuestra cuenta.

Instalar PHP7 con brew es tan simple como escribir: brew install php70

Pasará por todas las complicaciones y dependencias necesarias, terminando con una instalación de PHP 7 con muchas extensiones por defecto. Si está interesado en instalar otras extensiones y otras funciones, realice una brew search php70 para ver qué otros paquetes están disponibles para la instalación.

Vamos a querer usar esta versión de PHP en la línea de comandos de nuestro proyecto, pero cuando escriba PHP --version todavía tenemos la versión anterior. Aquí es cómo resolver esto usando ~ / .bashrc (tendrás que editar tu archivo de shell rc favorito si estás usando algo más). Agregue la siguiente línea a ~ / .bashrc:

Si no estás seguro de cómo hacerlo, prueba:

  1. Escriba pico .bashrc en la línea de comandos de su carpeta de inicio (~)
  2. copie y pegue la línea anterior en el archivo
  3. Escriba Control-O e ingrese para enviar el archivo a su directorio personal
  4. Escriba Control-X para salir del editor
  5. cierre y reinicie su sesión de terminal

Ahora, cuando escribe PHP --version usted debe recibir algo como lo siguiente:

GitHub

Mis proyectos están alojados para descargar en mi cuenta de GitHub. Quiero clonar mi proyecto phuxer en mi computadora local. Puedo usar las herramientas de línea de comandos para git, y para la actualización, la fusión, el compromiso y el empuje probablemente lo haré. Pero Github realmente proporciona una manera muy práctica de usar la utilidad con una interfaz de usuario.

Para OS X necesitamos descargar el cliente Github para mac en https://desktop.github.com

Ahora que tenemos el cliente de escritorio, vamos a lanzarlo. Después de iniciar el programa, se le pedirá que inicie sesión en Github con su cuenta para que el cliente de escritorio pueda estar vinculado. Además, debe proporcionar un botón durante el proceso de instalación de las herramientas de línea de comandos para git, haga clic en eso también. Una vez que hayas hecho eso deberías ver algo como esto:

githubscreenshot

Seguí estos pasos para clonar Phuxer en mi computadora:

  1. Haga clic en el signo + en la parte superior izquierda
  2. Haga clic en la pestaña clon para acceder a sus repositorios
  3. Seleccione uno de sus repositorios y luego especifique dónde se clonará en su sistema de archivos

Voila, ahora tiene un repositorio git clonado en su escritorio. Cuando usted está en el directorio del proyecto en la línea de comandos ahora debe ser capaz de escribir comandos git. Si intentas hacer un push, ingresarás tu nombre de usuario y contraseña de GitHub. Usted debe ser bueno para ir entonces.

Compositor

Ahora que tengo mi repositorio, necesito rellenar las dependencias para mi PHP. Estoy planeando usar el paquete reaccionar / reaccionar y los paquetes asherwunk / phabstractic que están disponibles en packagist. También estoy planeando utilizar PHPUnit en mi desarrollo, por lo que se especifica en mi archivo composer.json también. Para Phuxer, aquí está el primer borrador de su archivo compositor:

Entonces, ¿cómo conseguimos compositor?

Bueno, vamos a ejecutar el instalador desde el sitio oficial. En la línea de comandos, escriba:

Esto le dará la capacidad de escribir PHP composer.phar <composer commands here> en su línea de comandos, pero ¿y si sólo queremos ser capaces de interactuar con el compositor como una utilidad de línea de comandos global? Bueno, hagamos una pequeña línea de comandos moviéndonos y haciendo magia aliasing. Primero, mueva el archivo composer.phar a su directorio bin y luego cree un alias en su ~ / .bash_profile apuntando a él:

  1. Escriba sudo mv composer.phar /usr/local/bin/ en su línea de comandos. Es probable que se le solicite que ingrese sus credenciales de administración.
  2. Escriba pico .bash_profile en la línea de comandos de su carpeta de inicio (~)
  3. Escriba la línea siguiente al final de ese archivo utilizando la interfaz de edición de texto:
    alias composer="php /usr/local/bin/composer.phar"
  4. Como antes, escriba Control-O e ingrese para enviar el archivo a su directorio personal
  5. Escriba Control-X para salir del editor
  6. Cierre y reinicie su sesión de terminal

Ahora deberías ser capaz de escribir composer <your command here> en su directorio del proyecto y esperar el resultado apropiado.

Así que seguí adelante y lo hice, entré en mi directorio de proyectos y ejecuté composer update , y todo parecía salir bien. Ahora que tengo las dependencias, vamos a poner phpunit en funcionamiento.

PHPUnit

Las pruebas unitarias, o al menos alguna forma de pruebas, es importante en un proyecto. Al igual que Composer, phpunit está basado en PHP, pero podemos hacer varias cosas para que sea tan fácil de ejecutar como Composer.

Aquí es donde tuve que instalar wget en mi máquina. Por alguna razón simplemente no lo tenía, así que ejecuté   brew install wget en la línea de comandos en este momento y lo consiguió con éxito allí.

Esto es bastante simple, directamente desde la documentación de phpunit:

  1. En la línea de comandos, escriba wget https://phar.phpunit.de/phpunit.phar
  2. A continuación, escriba, chmod +x phpunit.phar
  3. Y por último, moverlo a su directorio bin, sudo mv phpunit.phar /usr/local/bin/phpunit

En este momento pude escribir phpunit en la línea de comandos y para mi propio proyecto, viendo como no había pruebas para ejecutar, recibió información básica de prueba.

Un editor

De hecho, intenté usar Aptana nuevamente, porque recuerdo que era bastante parecido a Cloud9, pero lo descargé y lo corrí hoy en mi máquina El Capitan … y me chupó. Difícil. Lo odiaba.

Así que voy a estar editando mi PHP en un editor de texto, en lugar de un IDE. Si quieres soporte de depuración, querrás usar un IDE y apuntar tu proyecto al directorio de tu proyecto, y tal vez acabe haciendo eso, pero por ahora usaré un editor de texto.

Hay una serie de editores para sugerir, y voy a hacer un post sobre algunos de ellos, pero por ahora sólo uso el editor casado con Github por ahora, Atom. Me encendí a este editor cuando estaba investigando maneras de hacer aplicaciones de escritorio usando JavaScript y HTML. Se ejecuta en el código de electrones que Github también ha puesto juntos.

Conclusión

No es demasiado difícil configurar una línea de comandos básica de entorno de codificación PHP utilizando github, compositor y phpunit. Este tutorial cubrió cómo configurar el entorno de desarrollo si está usando php puramente desde la línea de comandos. Este tutorial no cubre * las instalaciones de AMP, como hacer que tu PHP funcione en entornos de servidor web.

Este artículo forma parte de la serie Asher Lo Explica Todo

Si usted aprecia mis tutoriales y su sabiduría, por favor considere apoyarme en Patreon.

Sin embargo, si un compromiso mensual es un poco demasiado necesitado para usted, podría considerar comprarme una taza de café.

photo credit: Working with music mixer via photopin (license)

También te podría gustar...

Deja un comentario

A %d blogueros les gusta esto: