이 자습서에서는 최신 버전의 Laravel 버전 9를 사용하여 편안한 백엔드 API를 만듭니다. 프론트 엔드는 React로 작성된 구성 요소로 구성됩니다. 우리는 풍부한 제품 목록 응용 프로그램을 구축 할 것입니다. 튜토리얼의 첫 번째 부분은 Laravel 개념과 백엔드에 더 중점을 둘 것입니다. 시작합시다.
Laravel은 현대 웹을 위해 개발 된 PHP 프레임 워크입니다. 구성 패러다임에 대한 협약을 선호하는 표현 구문이 있습니다. Laravel에는 박스에서 프로젝트를 시작하는 데 필요한 모든 기능이 있습니다. 그러나 개인적으로, 나는 Laravel이 PHP를 완전히 다른 경험과 워크 플로로 바꾸기 때문에 Laravel을 좋아합니다. 반면에 React는 단일 페이지 응용 프로그램을 구축하기 위해 Facebook에서 개발 한 인기있는 JavaScript 라이브러리입니다. React는 각 구성 요소가 응용 프로그램 UI의 일부를 설명하는 구성 요소로보기를 분해하는 데 도움이됩니다. 구성 요소 기반 접근법은 구성 요소 재사용 성과 모듈성의 추가 이점을 가지고 있습니다.
왜 Laravel과 React?
웹을 위해 개발하는 경우 서버와 클라이언트 모두에 단일 코드베이스를 사용하는 경향이있을 수 있습니다. 그러나 모든 회사가 개발자에게 자신이 선택한 기술을 자유롭게 사용할 수있는 것은 아닙니다. 전체 프로젝트에 JavaScript 스택을 사용하는 것은 현재 표준이지만 서버 측과 클라이언트 측에 대해 두 가지 다른 기술을 선택하는 것을 막는 것은 없습니다.시작하기 전에 RESTFUL ARMSURDECTURE와 API 종료가 어떻게 작동하는지에 대한 기본적인 이해를 가지고 있다고 가정 할 것입니다. 또한 React 또는 Laravel에 대한 사전 경험이 있다면이 튜토리얼을 최대한 활용할 수 있습니다.
.Laravel 프로젝트를 설치하고 설정하고 Laravel을 시작하기 전에 로컬 컴퓨터에 PHP와 작곡가를 모두 설치했는지 확인하십시오. Laravel은 PHP를 기반으로하며 작곡가를 사용하여 모든 종속성을 관리하기 때문입니다. 컴포저를 컴퓨터에 설치할 때는 Composer가 전 세계적으로 액세스 할 수 있도록 경로 환경 변수에 추가 할 옵션을 선택해야합니다. Composer가 설치되면 다음과 같이 새로운 Laravel 프로젝트를 생성 할 수 있어야합니다.
모든 것이 잘 진행되면 ProductsController의 개발 서버에서 응용 프로그램을 제공 할 수 있어야합니다. 새로운 가져 오기 및 경로가있는 제품 $ 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 응답을 자동으로 반환 할 수 있습니다. 유효성 검사의 논리는 컨트롤러 내부에 배치됩니다. <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer create-project laravel/laravel example-app<br></pre><div class="contentsignin">로그인 후 복사</div></div><div class="contentsignin">로그인 후 복사</div></div> 객체는 유효성 검사 규칙을 정의하는 데 사용할 수있는 검증 메소드를 제공합니다. <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 중국어 웹사이트의 기타 관련 기사를 참조하세요!