Slim Framework 매뉴얼 시작

slim framework
slim framework

환영

Slim은 간단하지만 강력한 웹 응용 프로그램 및 API를 빠르게 작성할 수 있도록 도와주는 PHP micro framework입니다. Slim의 핵심은, Slim은 HTTP 요청을 수신하고 적절한 콜백 루틴을 호출하며 HTTP 응답을 반환하는 Dispatcher입니다.

Slim의 요점은?

Slim은 데이터를 소비, 용도 변경 또는 게시하는 API를 만드는 데 이상적인 도구입니다. Slim은 또한 신속한 프로토타이핑을 위한 훌륭한 도구입니다. 사용자 인터페이스를 통해 모든 기능을 갖춘 웹 애플리케이션을 구축할 수도 있습니다. 더 중요한 것은 슬림이 매우 빠르고 코드가 거의 없다는 것이다.

| Slim의 핵심은, Slim은 HTTP 요청을 수신하고 적절한 콜백 루틴을 호출하며 HTTP 응답을 반환하는 디스패처이다

Symfony나 Laravel과 같은 보통 사람들이 사용하는 솔루션이 항상 필요한 것은 아닙니다. 물론 이것들은 좋은 도구들입니다. 하지만 그들은 종종 너무 많은 작업들을 필요로 합니다. 대신 Slim은 필요한 작업을 수행하는 최소한의 도구 세트만 제공합니다.

어떻게 작동하죠?

먼저, 당신은 Nginx나 Apache와 같은 웹 서버가 필요합니다. 적절한 모든 요청을 하나의 “프론트 컨트롤러” PHP 파일로 보내도록 웹 서버를 구성해야 합니다. 이 PHP 파일에서 Slim 앱을 인스턴스화하고 실행합니다.

Slim 앱에는 특정 HTTP 요청에 응답하는 경로가 포함되어 있습니다. 각 경로는 콜백을 호출하고 HTTP 응답을 반환합니다. 시작하려면 먼저 Slim 애플리케이션을 인스턴스화하고 구성합니다. 그런 다음 응용 프로그램 경로를 정의합니다. 마지막으로 Slim 애플리케이션을 실행합니다. 다음은 응용 프로그램의 예입니다.

<?php

use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
​
require __DIR__ . '/../vendor/autoload.php';
​
/**
 * Instantiate App
 *
 * In order for the factory to work you need to ensure you have installed
 * a supported PSR-7 implementation of your choice e.g.: Slim PSR-7 and a supported
 * ServerRequest creator (included with Slim PSR-7)
 */
$app = AppFactory::create();
​
/**
  * The routing middleware should be added earlier than the ErrorMiddleware
  * Otherwise exceptions thrown from it will not be handled by the middleware
  */
$app->addRoutingMiddleware();
​
/**
 * Add Error Middleware
 *
 * @param bool                  $displayErrorDetails -> Should be set to false in production
 * @param bool                  $logErrors -> Parameter is passed to the default ErrorHandler
 * @param bool                  $logErrorDetails -> Display error details in error log
 * @param LoggerInterface|null  $logger -> Optional PSR-3 Logger  
 *
 * Note: This middleware should be added last. It will not handle any exceptions/errors
 * for middleware added after it.
 */
$errorMiddleware = $app->addErrorMiddleware(true, true, true);
​
// Define app routes
$app->get('/hello/{name}', function (Request $request, Response $response, $args) {
    $name = $args['name'];
    $response->getBody()->write("Hello, $name");
    return $response;
});
​
// Run app
$app->run();

요청 및 응답

Slim 앱을 빌드할 때 요청 및 응답 개체로 직접 작업하는 경우가 많습니다. 이러한 오브젝트는 웹 서버가 수신한 실제 HTTP 요청과 클라이언트로 반환된 최종 HTTP 응답을 나타냅니다.

모든 Slim 앱 경로에는 현재 요청 및 응답 개체가 콜백 루틴에 대한 인수로 지정됩니다. 이러한 개체는 널리 사용되는 PSR-7 인터페이스를 구현합니다. Slim 앱 경로는 필요에 따라 이러한 개체를 검사하거나 조작할 수 있습니다. 궁극적으로 각 Slim 앱 라우트는 PSR-7 Response 객체를 반환해야 합니다.

자체 구성 요소 가져오기

Slim은 다른 PHP 구성 요소와도 잘 작동하도록 설계되었습니다. Slim의 기본 기능을 기반으로 하는 Slim-Csrf, Slim-HttpCache 또는 Slim-Flash와 같은 추가 타사 구성 요소를 등록할 수 있습니다. 또한 Packagist에서 볼 수 있는 타사 구성요소를 쉽게 통합할 수 있습니다.

이 설명서를 읽는 방법

Slim을 처음 접하시는 분들은 이 설명서를 처음부터 끝까지 읽어보시는 것이 좋습니다. Slim에 대해 이미 알고 있다면 해당 섹션으로 바로 이동할 수 있습니다.

이 설명서는 요청 및 응답 처리, 라우팅 및 오류 처리와 같은 특정 주제에 앞서 Slim의 개념과 아키텍처를 설명하는 것으로 시작합니다.

설명서 라이센스

이 웹 사이트 및 설명서는 Creative Commons Attribution-NonCommercial-NoDerivities 4.0 International License에 따라 라이센스가 부여됩니다.