Yaravel 은 HTML 렌더링과 API로 모두 사용할 수 있는 작지만 강력한 PHP MVC 프레임워크입니다. 요청 및 라우팅 시스템, 스타일시트 및 자바스크립트를 지원하는 뷰 엔진, 데이터베이스 통신을 위한 Helloquent라는 ORM을 갖추고 있습니다. Yaravel 은 빠르고 효율적이며 유연하게 설계되어 PHP로 웹 애플리케이션을 구축하려는 개발자에게 이상적인 선택입니다.
Tweeter는 이 프레임워크의 초기 버전을 사용하여 구축된 트위터 같은 앱으로, 사용자가 "트윗"으로 알려진 짧은 메시지를 게시하고 좋아요를 누르고 트윗을 확인하여 다른 사람들과 상호 작용할 수 있습니다. 이 앱에는 사용자의 최근 트윗을 실시간으로 제공하는 기능이 있습니다.
(실시간으로 확인하거나 이 앱의 저장소에서 확인하세요)
애플리케이션 경로는 "/routes" 폴더에 등록할 수 있습니다. API 경로는 "api.php" 파일에 배치되고 웹페이지는 "web.php" 파일에 배치되어야 합니다.
웹 경로를 등록하려면 라우터 개체에서 addRoute 함수를 사용하세요. 이 함수는 다음 매개변수를 사용합니다.
// $router->addRoute(path, controller path, action);
$ router -> addRoute ( " / " , DefaultController::class, " viewDefault " );
자세한 내용은 "/routes/web.php" 의 예제를 참조하세요.
API 경로를 등록하려면 라우터 개체에서 api 함수를 사용하세요. 이 함수는 다음 매개변수를 사용합니다.
// $router->addRoute(path, controller path, method);
$ router -> api ( " / " , DefaultController::class);
$ router -> api ( " / " , DefaultController::class, " post " );
자세한 내용은 "/routes/api.php" 의 예제를 참조하세요.
$this->request 객체는 컨트롤러 내부에 포함되어 있으며 HttpRequest 클래스의 인스턴스입니다. 요청의 모든 데이터를 보유합니다. 객체에는 다음을 포함한 여러 속성이 있습니다.
HttpResponse 클래스는 API 호출에 응답하는 데 사용됩니다. 여기에는 두 개의 매개변수가 있는 response라는 정적 함수가 있습니다.
MVC(Model-View-Controller)는 애플리케이션을 세 가지 주요 구성 요소로 분리하는 소프트웨어 디자인 패턴입니다.
프레임워크의 모델 구성 요소는 데이터 및 비즈니스 논리를 처리하고 데이터베이스와 통신하는 역할을 담당합니다. 이는 프레임워크용으로 특별히 제작된 ORM 도구인 Helloquent를 사용하여 수행됩니다. 자세한 내용은 https://github.com/you97ssef/Helloquent 링크의 Helloquent 설명서를 참조하세요.
모델은 /app/Models
디렉터리에 저장되어야 하며 Model
클래스를 확장해야 합니다(코드의 Person
클래스에서 설명한 대로).
View 구성 요소에는 사용자에게 표시할 데이터와 혼합된 HTML을 반환하는 함수가 포함되어 있습니다. 사용된 데이터는 컨트롤러에서 전달될 수 있으며 $this->data
속성(배열)을 통해 액세스할 수 있습니다. 보기는 /app/views
디렉터리에 저장되어야 하며 View
클래스를 확장해야 합니다(코드의 DefaultView
또는 ErrorView
클래스에서 설명).
수정된 텍스트: 컨트롤러 구성 요소는 사용자 입력을 처리하고 그에 따라 모델과 뷰를 업데이트합니다. 컨트롤러는 /app/Controllers
디렉터리에 저장되어야 하며 Controller
클래스를 확장해야 합니다. 여기에는 들어오는 요청의 데이터가 포함된 $this->request
속성이 있습니다. 웹 페이지로 응답하려면 View를 정의해야 하며 $view->render("renderBody")
와 같이 해당 View의 render
기능을 호출해야 합니다. API 호출에 응답하려면 HttpResponse
클래스의 respond
함수(예: HttpResponse::respond($data)
사용해야 합니다. 예제는 DefaultController
참조하세요.
애플리케이션은 index.php 파일로 시작됩니다. 먼저 요청이 구성되고 CSS 및 JS가 등록됩니다. 다음으로 앱 구성과 데이터베이스 구성이 초기화된 후 라우터가 설정됩니다. 마지막으로 $router->run();
(자세한 내용은 index.php 파일 참조)
이 프레임워크는 소프트웨어의 사용, 수정 및 배포를 허용하는 허용적인 오픈 소스 라이선스인 MIT 라이선스에 따라 라이선스가 부여됩니다. MIT 라이선스는 소프트웨어 사용 방법에 있어 높은 수준의 유연성을 허용하고 최소한의 제한 사항을 통합합니다.