logo
Secciones

Entradas del blog


Aplicaciones y Software para desarrollo en PHP Parte 1 | Fedora 39

Sin comentarios

Contexto

Cuando se inicia en el desarrollo con PHP, ya sea por pasa tiempo, por la escuela, o simplemente por necesidad. Inicialmente no se tiene idea de dónde comenzar, qué se debe instalar, o cuáles herramientas utilizar, cuáles configuraciones utilizar.

Por tal motivo decidí redactar una serie artículos en los que explico cómo configurar o levantar un entorno para desarrollar en PHP utilizando la distribución Linux Fedora específicamente, sin embargo, se puede utilizar cualquier otra.

NOTA: ÉSTOS TUTORIALES NO SON PARA APRENDER A DESARROLLAR EN PHP, SINO PARA CONFIGURAR EL ENTORNO DE DESARROLLO PARA PHP, UTILIZANDO FEDORA.

Estos artículos contarán la siguiente lista:

  1. Software y aplicaciones a utilizar (Parte 1)
  2. Instalación & configuración (Parte 2)
  3. Ejemplos básicos con PHP (Parte 3)
  4. Hosting y despliegues (Parte 4)

Software y aplicaciones a utilizar

  1. Git
  2. Composer
  3. XAMPP
  4. VSCode
  5. DBeaver
  6. SSH
  7. GitLab
  8. ZSH & Tilix

PHP

PHP es un lenguaje de programación destinado a desarrollar aplicaciones para la web y crear páginas web, favoreciendo la conexión entre los servidores y la interfaz de usuario. Entre los factores que hicieron que PHP se volviera tan popular, se destaca el hecho de que es de código abierto.

Esto significa que cualquiera puede hacer cambios en su estructura. En la práctica, esto representa dos cosas importantes:

  • es de código abierto, no hay restricciones de uso vinculadas a los derechos. El usuario puede usar PHP para programar en cualquier proyecto y comercializarlo sin problemas.
  • está en constante perfeccionamiento, gracias a una comunidad de desarrolladores proactiva y comprometida.

PHP generalmente es definido como un lenguaje del lado del servidor. Esto significa que se aplica en la programación que tiene lugar en el servidor web responsable de ejecutar la aplicación o, más a menudo, en un sitio web.

Este trabajo previo permite cargar los elementos de una página antes de mostrarlos al usuario que accede a un sitio web, por ejemplo. El código PHP se ejecuta en el servidor que, al leer los comandos, puede activar todos los elementos funcionales y la interfaz visual del sitio web.

1.- Git

Hoy en día, Git es, con diferencia, el sistema de control de versiones moderno más utilizado del mundo. Git es un proyecto de código abierto maduro y con un mantenimiento activo que desarrolló originalmente Linus Torvalds,
el famoso creador del kernel del sistema operativo Linux, en 2005. Un asombroso número de proyectos de software dependen de Git para el control de versiones, incluidos proyectos comerciales y de código abierto.
Los desarrolladores que han trabajado con Git cuentan con una buena representación en la base de talentos disponibles para el desarrollo de software, y este sistema funciona a la perfección en una amplia variedad de sistemas operativos
e IDE (entornos de desarrollo integrados).

Git, que presenta una arquitectura distribuida, es un ejemplo de DVCS (sistema de control de versiones distribuido, por sus siglas en inglés). En lugar de tener un único espacio para todo el historial de versiones del software, como sucede de manera habitual en los sistemas de control de versiones antaño populares, como CVS o Subversion (también conocido como SVN), en Git, la copia de trabajo del código de cada desarrollador es también un repositorio
que puede albergar el historial completo de todos los cambios.

https://git-scm.com

2.- Composer

Composer es un gestor de dependencias para PHP (Similar a lo que npm es para JavaScript o pip para Python). Es una aplicación PHP que ayuda a administrar las librerías desarrolladas por terceros que vas a incorporar a tu proyecto.

De algún modo podrías considerarlo como el heredero de PEAR. Hoy día se considera el gestor de dependencias de-facto por unas cuantas buenas razones:

  • Es muy simple de operar
  • Cuenta con un repositorio super completo (Packagist)
  • Disminuye significativamente los problemas de cambio de ambiente de ejecución (Mediante su funcionalidad de congelar dependencias)

https://getcomposer.org

3.- XAMPP

XAMPP es un paquete de software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script PHP y Perl.
A esta fecha, XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y Mac OS X.

El objetivo de XAMPP es crear una distribución fácil de instalar para desarrolladores que se están iniciando en el mundo de Apache (PHP). XAMPP viene configurado por defecto con todas los opciones activadas.
XAMPP es gratuito tanto para usos comerciales como no comerciales.

XAMPP es una distribución de Apache que incluye varios software libres. El nombre es un acrónimo compuesto por las iniciales de los programas que lo constituyen: el servidor web Apache,
los sistemas relacionales de administración de bases de datos MySQL y MariaDB, así como los lenguajes de programación Perl y PHP.

https://www.apachefriends.org

4.- VS Code

Visual Studio Code (VS Code) es un editor de código fuente desarrollado por Microsoft. Es software libre y multiplataforma, está disponible para Windows, GNU/Linux y macOS. VS Code tiene una buena integración con Git,
cuenta con soporte para depuración de código, y dispone de un sinnúmero de extensiones, que básicamente te da la posibilidad de escribir y ejecutar código en cualquier lenguaje de programación.

Ferb, [05/01/2024 10:29]
Aquí usualmente se desata una discrepancia de opiones, de cuál ide es mejor, que si vim, vin, nano, vi, sublime, etc., no entraremos en ese detalle, pueden utilizar el editor de código que deseen, sin embargo, en éste artículos
se estará utilizando éste editor.

https://code.visualstudio.com

5.- DBeaver

DBeaver es una aplicación de software cliente de SQL y una herramienta de administración de bases de datos. Para las bases de datos relacionales, utiliza la interfaz de programación de aplicaciones JDBC para interactuar con las bases de datos a través de un controlador JDBC. Para otras bases de datos utiliza controladores de bases de datos propietarios. Proporciona un editor que soporta el autocompletado de código y el resaltado de sintaxis.

https://dbeaver.io

6.- SSH

SSH o Secure Shell, es un protocolo de administración remota que le permite a los usuarios controlar y modificar sus servidores remotos a través de Internet a través de un mecanismo de autenticación.

Proporciona un mecanismo para autenticar un usuario remoto, transferir entradas desde el cliente al host y retransmitir la salida de vuelta al cliente.
El servicio se creó como un reemplazo seguro para el Telnet sin cifrar y utiliza técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el servidor remoto sucedan de manera encriptada.

Cualquier usuario de Linux o macOS puede usar SSH en su servidor remoto directamente desde la ventana del terminal. Los usuarios de Windows pueden aprovechar los clientes SSH como Putty.
Puedes ejecutar comandos shell de la misma manera que lo harías si estuvieras operando físicamente el equipo remoto.

SSH se usará para configurar los usuarios de github y gitlab, para control de versiones de los proyectos a desarrollar.

https://www.ssh.com/academy/ssh

7.- GitLab

GitLab es un repositorio de gestión de proyectos y, como se puede deducir desde el nombre, está construido sobre Git. Es decir, proporciona el código para generar un servidor y gestionar los clientes, sus operaciones y los servicios que ofrece.

A través de GitLab puedes administrar grupos, personas y los permisos que quieras que tengan los usuarios dentro de los grupos o proyectos a los que pertenezcan. Si estás buscando cómo aumentar la productividad laboral en tu empresa,
esta herramienta puede ayudarte.

También, te permite llevar a cabo un seguimiento del estado actual y del histórico de los proyectos, logrando ver todos los cambios y modificaciones producidas en el tiempo de desarrollo.

https://gitlab.com

8.- Opcional ZSH y Tilix

ZSH

ZSH, también llamado Z shell, es una versión extendida de Bourne Shell (sh), con muchas características nuevas y soporte para plugins y temas. Dado que se basa en el mismo shell que Bash, ZSH tiene muchas de las mismas características.
Empezar a utilizarlo es muy sencillo.

https://www.zsh.org/

Tilix

Tilix (a.k.a. Terminix) es un interesante emulador de terminal basado en GTK3 como tantos otras alternativas de las que disponemos en GNU/Linux. Puedes conocer más del proyecto o hacerte con él desde este web site.
Además de tener máxima flexibilidad y una potencia para aquellos usuarios avanzados que la necesiten, el emulador tiene interesantes funcionalidades y conceptos que te sorprenderán.
Seguro que es una mejor alternativa que el emulador de terminal por defecto que se incluyen en los entornos GNOME, y derivados de éste.

Comentarios:

Conoce la red social linuxClick
Redes sociales
Accesos directos