slimAan de slag met slim


Opmerkingen

Deze sectie geeft een overzicht van wat slank is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen slank vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor slim nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

versies

Versie Beschrijving Publicatiedatum
3.8.1 Deze inhoud had betrekking op slanke versie 3 2017/03/19

Json-gegevens ophalen uit databasetabel (REST API)

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();
 

Aan de slag met Slim Framework

Installatie of Setup Slim framework

  • Composer installeren
  • Open cmd
  • Ga naar de hoofdmap van uw projectmap en voer de volgende opdracht uit.

componist vereist slank / slank "^ 3.0"

Nu hebt u een leveranciersmap in uw project

Maak vervolgens Index.php in de hoofdmap en voeg de volgende code toe

<?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();
 

Voer vervolgens Project op Localhost uit en probeer het met de volgende opdracht

http: //localhost/project-root/index.php/hello/any-thing

uitgang

Hallo alles

Hallo wereld voorbeeld

<?php

include "vendor/autoload.php";

$app = new \Slim\App();

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

$app->run();
 

Installatie of instellingen

De aanbevolen manier om Slim Framework te installeren, is door componist te gebruiken.

  1. Maak een lege map aan

Deze map bevat alle vereiste bestanden om onze Slim-toepassing uit te voeren. We noemen deze directory root directory, zodat we alle andere applicatie bestanden en mappen ten opzichte van root directory aan te pakken.

mkdir slim-app
 
  1. Installeer Slim framework en de vereisten met behulp van componist
cd slim-app
composer require slim/slim "^3.0"
 

Vanaf nu gaan we ervan uit dat dit onze werkmap is.

Nadat de componist het downloaden van de vereiste bestanden heeft voltooid, moeten er twee bestanden composer.json en composer.lock zijn en een map met de naam leverancier die bestanden bevat die door de componist zijn gedownload. Nu zijn we klaar om onze applicatie te maken. Om onze applicatie te organiseren, creëren we een andere map:

mkdir public
 

We noemen dit de openbare map en we gaan onze webserver vertellen onze applicatie te serveren vanuit deze map.

  1. Voorbeeld van de toepassing "Hallo wereld"

Om Slim te gebruiken, maakt u een index.php in de openbare map met de volgende code:

public / 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. Start PHP ingebouwde server

We kunnen nu de ingebouwde PHP-server gebruiken om onze applicatie te bedienen:

php -S localhost:8080 -t public
 

en voer het project uit door dit adres in een webbrowser te openen:

http: // localhost: 8080

uitgang

Hallo Wereld!

Configureer nu de webserver zodat alle aanvragen aan dit bestand worden doorgegeven:

Apache-configuratie voor schone URL's (optioneel)

Dit is niet vereist maar wordt aanbevolen voor slanke projecten om index.php in de API-URL te verwijderen.

Maak .htaccess in dezelfde map als waar uw index.php zich bevindt. Het bestand moet de volgende code bevatten:

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

Zorg ervoor dat uw virtuele Apache-host is geconfigureerd met de optie AllowOverride zodat de .htaccess gedeclareerde herschrijfregels daadwerkelijk kunnen worden gebruikt:

AllowOverride All
 

Ngnix-configuratie

TBA

Skeletproject met steigers met `componist` en @akrabats` Slim-Skeleton`

  1. Afhankelijk van of u de componist wereldwijd of lokaal hebt geïnstalleerd.

    • Lokaal: php composer.phar create-project slim/slim-skeleton {my-app-name}
    • Wereldwijd: composer create-project slim/slim-skeleton {my-app-name}
  2. Als u een webserver gebruikt (bijv. Apache of nginx), wijs dan uw virtualhost-documentwortel naar de openbare map van uw nieuwe applicatie bijv. {my-app-name}/public .

  3. Zorg ervoor dat logs/ schrijfbaar zijn door de instellingen van uw webserver.

Je kunt de hele shebang ook in dev-modus uitvoeren met:

  • Lokaal: php composer.phar start
  • Wereldwijd: composer start

Met dank: Rob Allen @akrabat en het SlimPHP-team.

PS: ik neem hier absoluut GEEN krediet voor. Bijna letterlijk van slimphp / Slim-Skelet