1일차

안녕하십니까,
"100DaysOfCode"챌린지에 참여하기로 했습니다. 시작하려면 symfony 웹 사이트에서 사용할 수 있는 "자신만의 PHP 프레임워크 만들기"자습서를 선택합니다. https://symfony.com/doc/current/create_framework/index.html

이 튜토리얼의 소개 섹션에서 그들은 다음과 같은 질문을 했습니다. "왜 누군가가 기존 프레임워크를 사용하는 대신 자체 프레임워크를 만들기로 선택할까요?

음, 저에게 주된 이유는 다음과 같습니다. 프레임워크의 저수준 아키텍처에 대해 더 배우고 싶습니다.

자, 이 미션에 필요한 것은 무엇인가요? :D ?
  • PHP 7.4 이상
  • 웹 서버: nginx, apache, php의 내장 서버(나는 xampp를 푼다)
  • OOP 지식
  • 타사 구성 요소를 설치하기 위한 Composer

  • 1부: Http Foundation 구성 요소:



    웹 앱을 만들 때 클라이언트와 서버 간에 통신이 있고 클라이언트가 요청을 보내고 서버가 응답을 반환한다고 가정합니다.

    PHP에서 요청은 전역 변수($_GET, $_POST, $_FILE, $_COOKIE, $_SESSION…)로 표현되고 응답은 함수(echo, header, setcookie, …)에 의해 생성됩니다.

    HttpFoundation 구성 요소는 이러한 기본 PHP 전역 변수 및 함수를 객체 지향 레이어로 대체합니다.

    다음을 통해 이 구성 요소를 프로젝트에 추가할 수 있습니다.composer require symfony/http-foundation
    요청 및 응답의 두 가지 주요 클래스가 있습니다.

    다음은 요청 클래스의 몇 가지 주요 기능입니다.

    $request->getPathInfo(); // the URI being requested (e.g. /about) minus any query parameters
    
    // retrieve GET and POST variables respectively
    $request->query->get('foo');
    $request->request->get('bar', 'default value if bar does not exist');
    
    // retrieve SERVER variables
    $request->server->get('HTTP_HOST');
    
    // retrieves an instance of UploadedFile identified by foo
    $request->files->get('foo');
    
    // retrieve a COOKIE value
    $request->cookies->get('PHPSESSID');
    
    // retrieve an HTTP request header, with normalized, lowercase keys
    $request->headers->get('host');
    $request->headers->get('content-type');
    
    $request->getMethod();    // GET, POST, PUT, DELETE, HEAD
    $request->getLanguages(); // an array of languages the client accepts
    


    그리고 아래는 Response Class의 내용입니다.

    $response = new Response();
    
    $response->setContent('Hello world!');
    $response->setStatusCode(200);
    $response->headers->set('Content-Type', 'text/html');
    
    // configure the HTTP cache headers
    $response->setMaxAge(10);
    


    오늘은 그게 다야,
    제안/질문에 대해 언제든지 의견을 말하십시오.
    좋은 하루 되세요

    좋은 웹페이지 즐겨찾기