Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / PHP / Hola Mundo con Slim Framework

Hola Mundo con Slim Framework

Por jc mouse viernes, julio 28, 2017

Slim es un micro framework para PHP que nos ayuda a escribir rápidamente aplicaciones Web y APIs sencillas pero poderosas, en este post veremos los pasos para crear un proyecto REST Slim con el clásico«Hola Mundo» 🙂

Necesitamos:

  • Composer instalado y configurado
  • XAMPP, AppServ o WAMP Server (usaremos XAMPP)
  • Conocimientos sobre PHP
  • Entorno de Desarrollo Netbeans (Si prefieres Eclipse o IntelliJ esta bien)
  • Slim (explicamos más adelante como instalarlo)
  • Un navegador web

Tiempo: 15 minutos

Paso 1: Instalación de Slim

En X:\xampp\htdocs crea una carpeta llamada «apirest»

Abre una consola y ubícate en esa dirección, a continuación escribe:

composer require slim/slim 3.8.1

Presiona ENTER y comenzara la descarga de archivos

consola windows

Debes tener algo como esto:

php files

Ahora crea una carpeta llamada «public» y dentro de esta un archivo «index.php»

Paso 2. El proyecto en Netbeans

Ve a Archivo -> Nuevo proyecto -> Categoría (PHP) -> Proyecto (PHP Application with Existing Sources)

Rellena la información como se ve en la imagen:

configuracion proyecto

A continuación selecciona el archivo index.php creado en el paso 1 y presiona terminar

deployed files

El proyecto esta listo, ignoren esa alerta en color rojo 🙂

rest con php

Paso 3. .htaccess

.htacces es un archivo de configuración para servidores web, Slim lo necesita para redireccionar todas las peticiones por el archivo index.php

clic derecho sobre carpeta public\ -> seleccionar New -> Others… -> Categoria (Otras) -> File Types (Archivo vacio), presionar siguiente, en File Name escribir .htaccess, no olvidar el punto (.) y clic en el botón terminar para crear el archivo.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

Paso 4. Hola Mundo

Abre el archivo index.php y pega 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();

?>

Paso 5. Probando el funcionamiento de Slim

Guarda el proyecto y abre tu navegador web favorito, debes tener XAMPP en ejecución no esta por demás mencionarlo 🙂

Escribe: http://localhost/apirest/public/hello/jcmouse

donde

  • http://localhost/apirest/public/ es la dirección de tu REST API
  • hello/ es la petición que que le hacemos al API, es decir el verbo
  • /jcmouse 🙂 es el parámetro que enviamos por GET (Escribe tu nombre)
  • http://localhost/apirest/public/hello/jcmouse es la dirección completa de la petición

Si observamos el archivo index, tenemos  un código que empieza con [$app->get(‘/hello/{name}’…. ] que corresponde justamente a la petición GET que realizamos y entre llaves {name} tenemos el nombre del parámetro, esto lo veremos en otro post con más detalle. Presiona ENTER y tenemos:

chrome php

enjoy!!!

Tags

Artículos similares

Contar segundos (Problema Resuelto)

El problema dice asi: Se desea contar los segundos que se presiona un JButton en un formulario. Solución: Para resolver[...]

Rompecabezas [Código Fuente]

Hace tiempo me pidieron el código fuente de un juego de Puzzle de Neon Genesis Evangelión, este juego es completo, tiene[...]

JLabel: Escalar imagen

El componente swing JLabel nos permite cargar una imagen con la propiedad setIcon, sin embargo la imagen no toma el tama[...]

Leer datos de un REST API con VUE

En este post realizaremos un proyecto en VUE que se conectara a un REST API  y utilizara un servicio del mismo para[...]

Procedimientos almacenados en java

En este tuto realizaremos la implementación y ejecución de procedimientos almacenados de MySQL en Java, si quieres darle[...]

Pruebas Unitarias con PHPUnit

PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo fácilmente[...]