
Características generales y funcionamiento
- Lenguaje de programación:
- Tecnología de servidor interpretada.
- Multiplataforma.
- Paradigma: Imperativo (cómo realizar una tarea) y POO.
- Tipado: débil (control débil en los tipos de datos) y dinámico.
- Basado en C, C++, Java, Awk, Perl y Bash (shell script de Unix).
- Software libre bajo licencia GPL:
- Es gratuito
- El código fuente está disponible y existe permiso para complementar y aumentar sus prestaciones.
- Existe una gran cantidad de módulos y añadidos para complementar y aumentar sus prestaciones.
- Rápido.
- Curva de aprendizaje baja.
- ¿Qué podemos hacer?
- Aplicaciones web.
- Scripting en línea de comandos.
- Aplicaciones de escritorio utilizando GTK.
- Aplicaciones que usan php:
- Redes sociales: Facebook.
- Gestores de contenido: WordPress, Drupal, Joomla.
- Ecommerce: Magento, OsCommerce.
- Elearnig: Moodle
Instalación del entorno
Para poder desarrollar aplicaciones web con acceso a base de datos necesitaremos de un servidor web, lenguaje de programación del lado del servidor y servidor de base de datos.
En nuestro caso hemos utilizado Apache, PHP y MySQL.
Para ponerlo en funcionamiento tenemos varias opciones, aunque las más sencillas son XAMPP y Docker.
En el caso de XAMPP sólo debes acceder a su página web, descargar la versión acorde con tu sistema operativo e instalar el archivo (tanto en Windows como Mac basta con hacerlo siguiendo el asistente, desconozco el proceso en Linux).
En el caso de XAMPP por defecto nos trae como gestor de base de datos MariaDB en vez de MySQL, pero se puede modificar siguiendo estos sencillos pasos (en principio para lo que estamos viendo en el curso, no es necesario).
Para Docker en realidad puedes hacerlo de una forma muy sencilla, para ello hay que tener instalado:
- docker
- docker-compose
- docker-ce
Tanto en Windows como Mac está disponible un instalador con interfaz gráfica que te instala todo. En Linux varía según la distribución que tengas, y puedes verlo aquí:
Tutorial de Aula Software Libre
En mi caso, con Ubuntu 20.04 seguí el siguiente tutorial (no es necesario realizar el paso 4). Tutorial de Digital Ocean
Una vez tengas todo instalado, crear el entorno es muy sencillo, debes crear dos archivos, en la carpeta que quieras utilizar como «raiz» para tu proyecto, a partir de ella, crearás tu estructura /www/…:
- docker-compose.yml
- PHP.Dockerfile
En estos ficheros incluiremos la información para crear un entorno de trabajo con MySQL, php, phpmyadmin y postgres.
docker-compose.yml
version: '3' services: db: image: mysql:latest container_name: docker-mysql environment: MYSQL_DATABASE: usuario MYSQL_USER: usuario MYSQL_PASSWORD: 'contraseña' MYSQL_ROOT_PASSWORD: 'contraseña' ports: - "3306:3306" restart: always networks: - default www: build: context: . dockerfile: PHP.Dockerfile container_name: docker-php ports: - "80:80" volumes: - ./www:/var/www/html links: - db networks: - default phpmyadmin: image: phpmyadmin container_name: docker-admin restart: always ports: - "8080:80" environment: PMA_ARBITRARY: 1 MYSQL_USER: usuario MYSQL_PASSWORD: 'contraseña' MYSQL_ROOT_PASSWORD: 'contraseña' postgres: image: postgres container_name: docker-pg restart: always ports: - "5433:5433" environment: POSTGRES_PASSWORD: "contraseña"
PHP.Dockerfile
FROM php:apache RUN docker-php-ext-install pdo pdo_mysql
Una vez tengamos estos archivos en la carpeta raiz, debemos abrir una terminal en la misma y ejecutar el siguiente comando:
sudo docker-compose up -d
Con esto levantaremos una máquina con el entorno indicado en los ficheros anteriores y ya podrás acceder a través de tu explorador a localhost.
Para apagar la máquina y deshabilitar todos los servicios, el comando que debemos utilizar es:
sudo docker-compose down