Comenzando con delgado

Instalación o Configuración

La forma recomendada de instalar Slim framework es mediante el uso de composer.

  1. Crea un directorio vacío

Este directorio contendrá todos los archivos necesarios para que se ejecute nuestra aplicación Slim. Llamamos a este directorio directorio raíz para que podamos abordar todos los demás archivos y directorios de la aplicación en relación con el directorio raíz.

mkdir slim-app
  1. Instalar Slim Framework y sus requisitos usando Composer

    cd slim-app composer require slim/slim “^3.0”

De ahora en adelante, asumimos que este es nuestro directorio de trabajo.

Una vez que Composer termine de descargar los archivos necesarios, debe haber dos archivos composer.json y composer.lock y un directorio llamado proveedor que incluye los archivos descargados por Composer. Ahora estamos listos para crear nuestra aplicación. Para organizar nuestra aplicación, creamos otro directorio:

mkdir public

Llamamos a esto el directorio público y vamos a decirle a nuestro servidor web que sirva nuestra aplicación desde este directorio.

  1. Ejemplo de la aplicación “Hello World”

Para usar Slim, cree un index.php en un directorio público con el siguiente código:

público/index.php

<?php

include "../vendor/autoload.php";

$app = new \Slim\App();

$app->get('/', function ($request, $response, $args) {
    $response->getBody()->write("Hello world!");
});

$app->run();
  1. Inicie el servidor integrado de PHP

Ahora podemos usar el servidor incorporado de PHP para servir nuestra aplicación:

php -S localhost:8080 -t public

y ejecute el proyecto abriendo esta dirección en un navegador web:

http://localhost:8080

Producción

¡Hola mundo!

Ahora configure el servidor web para que todas las solicitudes pasen a este archivo:

Configuración de Apache para URL limpias (Opcional)

Esto no es obligatorio, pero se recomienda para proyectos delgados para eliminar index.php en la URL de la API.

Cree .htaccess en la misma carpeta donde se encuentra su index.php. El archivo debe contener el siguiente código:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

Asegúrese de que su host virtual Apache esté configurado con la opción AllowOverride para que las reglas de reescritura declaradas .htaccess puedan usarse realmente:

AllowOverride All

Configuración de Ngnix

TBA

Primeros pasos con Slim Framework

Instalación o configuración Slim framework

  • Instalar compositor
  • Abrir cmd
  • Vaya al directorio raíz de su carpeta de proyectos y ejecute el siguiente comando.

compositor requiere delgado/delgado “^3.0”

Ahora tendrá un directorio de proveedores en su proyecto

A continuación, cree Index.php en la carpeta raíz y agregue el siguiente código

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
    $name = $request->getAttribute('name');
    $response->getBody()->write("Hello, $name");

    return $response;
});
$app->run();

Luego ejecute Project en Localhost e intente con el siguiente comando

http://localhost/proyecto-raíz/index.php/hola/cualquier-cosa

Producción

hola cualquier cosa

Obtener datos Json de la tabla de la base de datos (API REST)

use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;

$app->get('/employee/view', function ($req, $res) {

    $con = new mysqli('localhost','USERNAME','PASSWORD','DATABASE');

    $query = $con->query("SELECT * FROM employee"); 
    while ($row = $query->fetch_assoc()) {
        $data[] = $row;
    }
    return $res->withJson($data); 
});

$app->run();

Ejemplo de Hola Mundo

<?php

include "vendor/autoload.php";

$app = new \Slim\App();

$app->get('/hello', function () {
    echo "Hello, world";
});

$app->run();

Proyecto de esqueleto de andamio con compositor y @akrabats Slim-Skeleton

  1. Dependiendo de si ha instalado compositor global o localmente.

    • Locally: php composer.phar create-project slim/slim-skeleton {my-app-name}
    • Globally: composer create-project slim/slim-skeleton {my-app-name}
  2. Si está ejecutando un servidor web (p. ej., Apache o nginx), apunte la raíz del documento de su servidor virtual a la carpeta pública de sus nuevas aplicaciones, p. {nombre-de-mi-aplicación}/public.

  3. Asegúrese de que la configuración de su servidor web pueda escribir logs/.

También puede ejecutar todo el shebang en modo dev con:

  • Localmente: php composer.phar start
  • Globalmente: inicio del compositor

Crédito: Rob Allen @akrabat y el equipo de SlimPHP.

PD: No tomo absolutamente ningún crédito por esto. Casi palabra por palabra de slimphp/Slim-Skeleton