1일차
"100DaysOfCode"챌린지에 참여하기로 했습니다. 시작하려면 symfony 웹 사이트에서 사용할 수 있는 "자신만의 PHP 프레임워크 만들기"자습서를 선택합니다. https://symfony.com/doc/current/create_framework/index.html
이 튜토리얼의 소개 섹션에서 그들은 다음과 같은 질문을 했습니다. "왜 누군가가 기존 프레임워크를 사용하는 대신 자체 프레임워크를 만들기로 선택할까요?
음, 저에게 주된 이유는 다음과 같습니다. 프레임워크의 저수준 아키텍처에 대해 더 배우고 싶습니다.
자, 이 미션에 필요한 것은 무엇인가요? :D ?
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);
오늘은 그게 다야,
제안/질문에 대해 언제든지 의견을 말하십시오.
좋은 하루 되세요
Reference
이 문제에 관하여(1일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hananekacemi/100-days-of-code-day-1-4imn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)