crear api slim 3 en linux mint 19

ir a la carpeta /var/www/html/

dentro de ella crear la carpeta del proyecto:

sudo mkdir slimapi

ir a la carpeta creada ("slimapi") y dentro de ella crear la estructura del proyecto que desee, en mi caso:

sudo mkdir public

sudo mkdir src

quedaria:

slimapi

-->public

-->src

en la raiz del proyecto

sudo composer require slim/slim:3.* 

dentro de la carpeta public, crear index.php y .htaccess

donde:

index.php


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


require '../vendor/autoload.php';


//$app = new \Slim\App;


$configuration = [
'settings' => [
'displayErrorDetails' => true,
],
];
$c = new \Slim\Container($configuration);
$app = new \Slim\App($c);


$app->get('/hello/{name}', function (Request $request, Response $response, array $args) {
$name = $args['name'];
$response->getBody()->write("Hello, $name");


return $response;
});

$app->run();

.httaccess


RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^ index.php [QSA,L]


de tal modo que la llamada no incluya en la url index.php

luego, si es que se van a usar clases estas irian dentro de la carpeta src

entonces si por ejemplo tenemos

src/utils/StringUtils.php

con el namespace SlimApi\Utils;

entonces en el archivo 

composer.json

agregar:

 "autoload": {

        "psr-4": {

            "SlimApi\\Utils\\": "src/utils"  

        }

    }

asi se los puede usar desde cualquier parte de la aplicacion

hacer sudo composer update

listo:


http://localhost/slimapi/public/helloname/juan



No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable