Ir al contenido principal

Comparativa de IDEs para PHP

 



Ha llegado el momento de elegir nuestro entorno para la programación en Laravel. Como hemos visto se trata de un framework para la programación en PHP, por lo que buscamos entre los entornos de programación mejor orientados para ese lenguaje de programación.

Haré un repaso de los mejor valorados en distintas páginas que he encontrado por la red. Pero he de decir desde de ya que yo me decanté por el Atom por las razones que más abajo detallaré.

PHPStorm



Empezaremos comentando el mejor valorado de todos los IDE para PHP, el PHPStorm, el brillantemente inteligente entorno de desarrollo para PHP como lo definen en su página web. Este es el Rolls Royce de los entornos de programación para PHP. Como características principales podemos citar:
  • Es multiplataforma, se puede instalar tanto en Windows, MacOS o Linux. Existe para Linux una versión de 30 días de prueba que puedes descargar desde esta dirección. 
  • Soporta las versiones de PHP 5.3/5.4/5.5/5.6/7.0/7.1/7.2.
  • Proporciona autocompletado de código inteligente, resaltado de sintaxis, configuración de formato de código extendido, verificación de errores sobre la marcha, plegado de código, admite mezclas de lenguajes y más.
  • PhpStorm proporciona potentes herramientas integradas para depurar, probar y crear perfiles de depuración de sus aplicaciones.
  • PhpStorm  incluye las últimas tecnologías de front-end, tales como, HTML5, CSS, JavaScript, Sass, CoffeeScript...
  • Es compatible con multitud de frameworks de PHP, entre ellos Laravel, Symphony, Wordpress, Drupal y muchos más.
  • Permite trabajar con las bases de datos SQL desde el propio IDE.
  • Realiza muchas tareas de rutina desde el propio IDE gracias a la integración con el Sistema de control de versiones, compatibilidad con implementación remota, herramientas de línea de comandos, Docker, Composer, REST Client y muchas más.
  • Dispone de una amplia selección de paquetes que permiten ampliar sus funcionalidades.
La pega principal es que no es gratuito. Por lo que lo desecharé como IDE para uso particular durante los ejemplos de programación en PHP que vaya haciendo en el desarrollo de los artículos del blog.

Codelobster

Codelobster es un editor muy simple y efectivo para el desarrollador web. Tiene una interfaz muy cómoda que ahorra tiempo para el aprendizaje del entorno de trabajo. Dispone de una versión gratuita para empezar en el desarrollo con PHP. Esta versión ofrece todas las características estándar de un IDE: 
  • Es multiplataforma, instalaciones para Windows, MacOS o Linux.
  • Resaltado de sintaxis para PHP/HTML/CSS/JavaScript.
  • Autocompletado para PHP/HTML/CSS/JavaScript
  • Depuración de PHP.
  • Ayuda contextualizada y dinámica.
Dispone también de características más avanzadas como:
  • Integración con frameworks o CMS's, como Laravel, Magento, CakePHP, WordPress, Drupal...
  • Integración con el sistema de control de versiones
  • Gestor de SQL.
  • Validador de código.
  • SASS y LESS.
  • Posibilidad de ampliar sus características vía plugins.
Sin embargo, para poder acceder a las características más avanzadas hay que comprar la licencia profesional, que es más barata que la del PHPStorm. Por esta razón, y para lo que nos atañe, descartamos este IDE también para la programación de nuestras pruebas.

Apache NetBeans

Aunque inicialmente Apache NetBeans se creó para el desarrollo de aplicaciones Java. El IDE es tan versátil que soporta muchos lenguajes de programación. Es comparable al PHPStorm, pero en este caso tenemos acceso a todas sus funcionalidades totalmente gratis. Es así porque es un software totalmente libre, licenciado bajo la licencia Apache, versión 2.0.
Estas son sus características principales:
  • Software multiplataforma con versiones disponibles para Windows, Mac OSX, Linux y BSD.
  • Soporta multiples versiones de PHP, desde la 5.2 a la última en este momento, la 8.0.
  • Edición rápida e inteligente con resaltado del código fuente tanto sintácticamente como semánticamente.
  • Permite refactorización del código con un conjunto de herramientas manejables y potentes.
  • Proporciona asistentes y plantillas para ayudar en la creación de aplicaciones Java, PHP y otros lenguajes de programación.
  • Dispone de amplia información para ayudar tanto a principiantes como a programadores seniors. Además de un gran soporte de la comunidad.
  • Integración con frameworks vía instalación de plugins (aunque he de decir que no pude configurar el Plugin Portal Update Center en la versión 12.4 para poder instalar los plugins de Laravel).
  • Integración del sistema de control de versiones Git.
Es un IDE muy completo, además siempre encuentras ayuda de la comunidad. Sin embargo lo descarté para la edición de código en la pruebas del blog porque, como puse más arriba, no conseguí (no me esforzé mucho la verdad) la integración con Laravel a través de Plugin Portal Update Center

NOTA: encontré un workaround que permite la configuración de una aplicación Laravel mínima, gracias a Javier Ortiz Bultron a esta respuesta, que yo copio aquí traducida tras probarla con Apache Netbeans 12.4:
  1. Instalar Composer en tu sistema.
  2. Instalar el plugin del instalador de Composer (está en el menú de plugins, bajo la categoría PHP).
  3. Seleccionar la opción New project->PHP Application.
  4. Configurar el proyecto usando el asistente. El último paso debería ser Composer.
  5. En la pestaña Composer, buscar en el cuadro etiquetado como Token: por laravel.
  6. Seleccionar laravel/laravel: The Laravel Framework y moverlo a la lista de frameworks seleccionados en la derecha.
  7. Darle a Finish y ya está todo hecho.

Eclipse

Al igual que el Apache Netbeans, el Eclipse fue diseñado originalmente para el desarrollo de aplicaciones en Java. Sin embargo, existe una versión específica para el desarrollo con PHP, el Eclipse IDE for PHP Developers.

Entre sus principales características podemos destacar:
  • Es multiplataforma, con versiones para Windows, Mac OSX y Linux
  • Resaltado del código fuente sintáctico y semántico.
  • Integración de Git para el sistema de control de versiones.
  • Herramientas de desarrollo para Javascript.
  • Herramientas de desarrollo para PHP que incluyen soporte para Composer, conexión a bases de datos MySQL, control sobre la sintaxis de HTML, CSS, XML, XHTML. Un editor integrado para diseñar fácilmente hojas de estilo.
  • Depuración de código integrado.
  • Y mucho más..
Eclipse es de código abierto y, por lo tanto, totalmente gratis. Tiene un gran soporte de la comunidad para resolver cualquier duda que se nos plantee. Realmente es un IDE muy completo. Pese a ello, no lo he seleccionado para realizar los ejemplos porque es un poco como matar hormigas a cañonazos en este momento.

Atom

Más que un IDE, el Atom es un editor de texto altamente configurable. Ha sido desarrollado por el equipo de GitHub teniendo como objetivo base el facilitar la producción de código de una manera fluida. Dispone de un sistema de paquetes que nos permite instalar las funcionalidades que deseamos que tenga. Una vez configurado para el desarrollo con PHP no tiene nada que envidiar a otros IDE. Las características más destacadas de este editor de texto son:
  • Es multiplataforma, pudiendo instalarse en Windows, Mac OSX y Linux.
  • Altamente configurable debido a su sistema de paquetes que actúan como si fueran plugins.
  • Soporte nativo para Git y GitHub como sistemas de control de versiones.
  • Una vez configurado para el desarrollo con PHP provee de:
    • Resaltado del código. 
    • Detección de errores de sintaxis sobre la marcha.
    • Autocompletado de código.
    • Sugerencias mientras se escribe. 
  • Buena documentación on line (en inglés) sobre el funcionamiento del IDE. Y soporte por parte de la comunidad en los Atom Forum.
Al ser tan configurable tiene la ventaja principal de que le instalas sólo que tu quieres manteniendo el entorno muy ligero a la hora de ejecutarse. Esta es la principal razón por la que lo he seleccionado como entorno de desarrollo para los ejemplos del blog. Aunque también podríamos decir que quería probar un editor que no había usado nunca, 😀.

Conclusiones

IDEs para la programación en PHP hay de todos los tamaños y colores… Yo me he centrado en estos 5 porque no puedo probarlos todos. Me dejé atrás otros muchos, como por ejemplo: Zend Studio, Visual Studio Code, Sublime Text 3, Komodo Edit, Geany y un largo etcétera. 

En última instancia, la utilización de un IDE para la programación es una cuestión de gusto/comodidad personal. Mi recomendación es que pruebes varios y selecciones el que más te guste. Luego aprende todo lo que puedas del que hayas seleccionado para sacarle el máximo partido.

Comentarios

Entradas populares de este blog

Atom ha muerto, viva Zed

El día 8 de junio de 2022, Microsoft anunció que a partir del día 31 de diciembre de este mismo año dejaría de dar soporte para el editor de código Atom .  ¿En qué nos afecta esto a nosotros? Bueno, pues si me han seguido en artículos anteriores saben que tras una comparativa de varios IDEs había decidido utilizar Atom para los ejemplos que tuviera que hacer en este blog. Sobre todo los artículos que prepararé para ilustrar el uso de Laravel . Amén de los miles de programadores que actualmente usan Atom  en sus proyectos, claro. Pero, ¿qué editor de código abierto podremos utilizar para sustituir a Atom ? En el mismo comunicado, Microsoft explicaba que el abandono del proyecto Atom  se debía a que querían volcar todos sus esfuerzos en el Visual Studio Code y, por supuesto, recomendó a los usuarios de Atom la utilización del mismo como alternativa natural. No quiero entrar en las bondades o defectos del Visual Studio Code  si quieres elegirlo como tu IDE para d...

Gestión de la red usando la línea de comandos (III): gestión DNS

  Introducción En este nuevo artículo de la serie vamos a hablar de la gestión del DNS, Domain Name System. El sistema de resolución de nombres nos permite traducir los nombres de los dominios de Internet en direcciones IP númericas. Más difíciles de recordar para los humanos.  El DNS fue concebido a mediados de los años 80. Hasta esa época, los ordenadores conectados a una red disponían de una dirección numérica, la dirección IP. Pero con el tiempo, cada vez había más ordenadores conectados a las redes. Esto hacía que cada vez fuera más difícil recordar las direcciones IP. Sobre el año 1983, Paul Mockapetris , un informático estadounidense, desarrolló un sistema jerárquico de nombres para identificar a los ordenadores conectados a una red. Y, a mediados de la década, ya se convirtió en un estándar. Pueden consultar más información sobre el sistema DNS consultando el artículo de la Wikipedia: Sistema de nombres de dominio . En este artículo, no vamos a explicar como montar un ...

Gestión de la red usando la línea de comandos (IV): monitorización de conexiones

  Introducción En este artículo de la serie de gestión de la red usando la línea de comandos nos vamos a centrar en la monitorización de las conexiones. Para ello vamos a utilizar el comando netstat , que es el decano de los comandos de monitorización de la red. También mostraremos el comando ss , que viene a sustituir a netstat  en las funciones de monitorización de conexiones de red. Asimismo mostraré una breve explicación de los conceptos que se van a trabajar en el artículo. S ockets, puertos, protocolos y procesos En primer lugar vamos a empezar con un poco de teoría para alumbrar lo que luego se explicará en el artículo. Si ya sabes de lo que estamos hablando, sáltate esta sección y ve al meollo del asunto [1] . Nos referiremos al contexto de la conexiones TCP/IP. Dentro de este contexto, cada conexión queda definida por dos endpoints , puntos finales, uno en el host , equipo, que establece la conexión y otro en el host con el que se comunica. Generalmente este último es...