>백엔드 개발 >PHP 튜토리얼 >Laravel Restful Back End : Part 1, Laravel 9 API가있는 React 앱 구축

Laravel Restful Back End : Part 1, Laravel 9 API가있는 React 앱 구축

Joseph Gordon-Levitt
Joseph Gordon-Levitt원래의
2025-03-01 09:14:10486검색
Laravel and React는 최신 웹 애플리케이션을 구축하는 데 사용되는 두 가지 인기있는 웹 개발 기술입니다. Laravel은 눈에 띄게 서버 측 PHP 프레임 워크이며 React는 클라이언트 측 JavaScript 라이브러리입니다. 이 튜토리얼은 Laravel과 React에 대한 소개 역할을하여 최신 웹 애플리케이션을 만들기 위해 결합하여 최신 웹 응용 프로그램을 만듭니다. 최신 웹 애플리케이션에서 서버는 일부 API (Application Programming Interface) 엔드 포인트를 통해 백엔드를 관리하는 작업이 제한되어 있습니다. 클라이언트는 이러한 엔드 포인트에 요청을 보내고 서버는 응답을 반환합니다. 그러나 서버는 클라이언트가 뷰를 어떻게 렌더링하는지에 대해 걱정하지 않으며, 이는 우려 원리의 분리와 완벽하게 일치합니다. 이 아키텍처를 통해 개발자는 웹 및 다양한 장치에 대한 강력한 응용 프로그램을 구축 할 수 있습니다.

이 자습서에서는 최신 버전의 Laravel 버전 9를 사용하여 편안한 백엔드 API를 만듭니다. 프론트 엔드는 React로 작성된 구성 요소로 구성됩니다. 우리는 풍부한 제품 목록 응용 프로그램을 구축 할 것입니다. 튜토리얼의 첫 번째 부분은 Laravel 개념과 백엔드에 더 중점을 둘 것입니다. 시작합시다.

소개

Laravel은 현대 웹을 위해 개발 된 PHP 프레임 워크입니다. 구성 패러다임에 대한 협약을 선호하는 표현 구문이 있습니다. Laravel에는 박스에서 프로젝트를 시작하는 데 필요한 모든 기능이 있습니다. 그러나 개인적으로, 나는 Laravel이 PHP를 완전히 다른 경험과 워크 플로로 바꾸기 때문에 Laravel을 좋아합니다. 반면에 React는 단일 페이지 응용 프로그램을 구축하기 위해 Facebook에서 개발 한 인기있는 JavaScript 라이브러리입니다. React는 각 구성 요소가 응용 프로그램 UI의 일부를 설명하는 구성 요소로보기를 분해하는 데 도움이됩니다. 구성 요소 기반 접근법은 구성 요소 재사용 성과 모듈성의 추가 이점을 가지고 있습니다.

왜 Laravel과 React?

웹을 위해 개발하는 경우 서버와 클라이언트 모두에 단일 코드베이스를 사용하는 경향이있을 수 있습니다. 그러나 모든 회사가 개발자에게 자신이 선택한 기술을 자유롭게 사용할 수있는 것은 아닙니다. 전체 프로젝트에 JavaScript 스택을 사용하는 것은 현재 표준이지만 서버 측과 클라이언트 측에 대해 두 가지 다른 기술을 선택하는 것을 막는 것은 없습니다.

그렇다면 Laravel과 React가 얼마나 잘 맞습니까? 사실, 사실. Laravel은 또 다른 JavaScript 프레임 워크 인 vue.js에 대한 지원을 기록했지만, 우리는 프론트 엔드에 대한 React에 더 인기가 있기 때문에 REACT를 사용할 것입니다.

전제 조건

시작하기 전에 RESTFUL ARMSURDECTURE와 API 종료가 어떻게 작동하는지에 대한 기본적인 이해를 가지고 있다고 가정 할 것입니다. 또한 React 또는 Laravel에 대한 사전 경험이 있다면이 튜토리얼을 최대한 활용할 수 있습니다.

. 그러나 두 프레임 워크를 모두 처음 사용한다면 걱정하지 마십시오. 튜토리얼은 초보자의 관점에서 작성되었으며 많은 문제없이 따라 잡을 수 있어야합니다. github에서 튜토리얼의 소스 코드를 찾을 수 있습니다.

Laravel 프로젝트를 설치하고 설정하고 Laravel을 시작하기 전에 로컬 컴퓨터에 PHP와 작곡가를 모두 설치했는지 확인하십시오. Laravel은 PHP를 기반으로하며 작곡가를 사용하여 모든 종속성을 관리하기 때문입니다. 컴포저를 컴퓨터에 설치할 때는 Composer가 전 세계적으로 액세스 할 수 있도록 경로 환경 변수에 추가 할 옵션을 선택해야합니다. Composer가 설치되면 다음과 같이 새로운 Laravel 프로젝트를 생성 할 수 있어야합니다.

모든 것이 잘 진행되면 ProductsController의 개발 서버에서 응용 프로그램을 제공 할 수 있어야합니다. 새로운 가져 오기 및 경로가있는 경로/api.php

.

눈치 채지 못하면 컨트롤러 메소드에 제품 인스턴스를 주입했습니다. 이것은 Laravel의 암시 적 바인딩의 예입니다. Laravel은 모델 인스턴스 이름 제품 $ product <p>와 URI 세그먼트 이름 <code> {product} 와 일치하려고합니다. 일치가 발견되면 제품 모델 인스턴스가 컨트롤러 동작에 주입됩니다. 데이터베이스에 제품이 없으면 404 오류가 반환됩니다. 최종 결과는 이전과 동일하지만 코드는 적습니다. <p> 우체부 또는 대 코드를 열면 제품의 엔드 포인트가 작동해야합니다. <code> 수락 : Application/JSON

헤더가 활성화되어 있는지 확인하십시오.
composer create-project laravel/laravel example-app<br>
검증 및 예외 처리 존재하지 않는 리소스로 향하는 경우 notfoundhttpexception 가 404 오류를 표시하는 방법입니다. 서버가 대신 JSON 응답을 반환하려면 기본 예외 처리 동작을 변경해야합니다. Laravel에는 <strong> app/exceptions/handler.php </strong>에 위치한 예외 처리 전용 핸들러 클래스가 있습니다. 클래스에는 주로 두 가지 방법이 있습니다 : <code> report () 및 <code> render () . <code> report > 메소드는 예외 이벤트를보고 및 로깅하는 데 유용한 반면 렌더 메소드는 예외가 발생할 때 응답을 반환하는 데 사용됩니다. JSON 응답을 반환하려면 렌더 메소드를 업데이트하십시오 Laravel을 사용하면 유효성 검사 규칙 세트를 사용하여 들어오는 HTTP 요청을 검증하고 유효성 검사가 실패한 경우 JSON 응답을 자동으로 반환 할 수 있습니다. 유효성 검사의 논리는 컨트롤러 내부에 배치됩니다. <pre class="brush:php;toolbar:false">composer create-project laravel/laravel example-app&lt;br&gt;</pre> 객체는 유효성 검사 규칙을 정의하는 데 사용할 수있는 검증 메소드를 제공합니다. <p> app/http/controllers/productsController.php <code>IlluminateHttpRequest. 요약

에서 몇 가지 유효성 검사 검사를 추가하겠습니다. 이제 제품 목록 애플리케이션에 대한 작업용 API가 있습니다. 그러나 API에는 인증 및 무단 사용자에 대한 액세스 제한과 같은 기본 기능이 부족합니다. Laravel은 인증에 대한 기본적인 지원을 제공하며 API를 구축하는 것은 비교적 쉽습니다. 인증 API를 연습으로 구현하는 것이 좋습니다.
<?php<br><br>namespace App\Http\Controllers;<br><br>use Illuminate\Http\Request;<br>use App\Product;<br><br>class ProductsController extends Controller<br>{<br><br>    public function index()<br>	{<br>	    return Product::all();<br>	}<br><br>	public function show(Product $product)<br>	{<br>	    return $product;<br>	}<br><br>	public function store(Request $request)<br>	{<br>	    $product = Product::create($request->all());<br><br>	    return response()->json($product, 201);<br>	}<br><br>	public function update(Request $request, Product $product)<br>	{<br>	    $product->update($request->all());<br><br>	    return response()->json($product, 200);<br>	}<br><br>	public function delete(Product $product)<br>	{<br>	    $product->delete();<br><br>	    return response()->json(null, 204);<br>	}<br><br>}<br>
이제 우리는 백엔드로 끝났으므로 초점을 프론트 엔드 개념으로 전환 할 것입니다. 이 시리즈의 두 번째 게시물을 확인하십시오

위 내용은 Laravel Restful Back End : Part 1, Laravel 9 API가있는 React 앱 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.