Apuntes PHP – Introducción

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