이 글에서는 요청에 대한 응답을 위해 Laravel 5.5에서 제공하는 반응형 인터페이스에 대한 관련 정보를 주로 소개합니다. 샘플 코드를 통해 글에서 소개된 Laravel 은 매우 상세하며 모든 사람의 학습이나 작업에 대한 특정 참조를 제공합니다. , 필요한 친구들은 편집자를 따라가서 Laravel을 배울 수 있습니다.
머리말
Laravel 5.5는 다음 LTS(장기 지원) 버전이기도 합니다. 이는 2년간의 수정과 3년간의 보안 업데이트가 있다는 의미입니다. Laravel 5.1도 마찬가지입니다. 하지만 2년간의 버그 수정 지원이 올해 종료됩니다.
Laravel 5.5에서는 라우팅에 Responsable이라는 새로운 반환 유형을 추가합니다. 이 인터페이스를 사용하면 컨트롤러 또는 클로저 경로에서 반환될 때 개체가 자동으로 표준 HTTP 응답 인터페이스로 변환될 수 있습니다. Responsable 인터페이스를 구현하는 모든 개체는 해당 개체를 HTTP 응답 개체로 변환하는 toResponse()
라는 메서드를 구현해야 합니다.
예제를 보세요:
use Illuminate\Contracts\Support\Responsable; class ExampleObject implements Responsable { public function construct($name = null) { $this->name = $name ?? 'Teapot'; } public function status() { switch(strtolower($this->name)) { case 'teapot': return 418; default: return 200; } } public function toResponse() { return response( "Hello {$this->name}", $this->status(), ['X-Person' => $this->name] ); } }
라우팅에서 이 exampleObject를 사용할 때 다음을 수행할 수 있습니다:
Route::get('/hello', function() { return new ExampleObject(request('name')); });
Laravel framework에서 이제 경로 클래스를 사용할 수 있습니다. 응답 콘텐츠를 준비할 때 이 유형(Responsable 인터페이스 구현)을 확인하세요.
if ($response instanceof Responsable) { $response = $response->toResponse(); }
여러 응답 유형을 사용하여 AppHttpResponses 네임스페이스 에서 응답 콘텐츠를 구성하는 경우 다음 예를 참조할 수 있습니다. . 이 예는 게시물(여러 인스턴스의 컬렉션)을 지원하는 방법을 보여줍니다.
posts = $posts; } public function toResponse() { return response()->json($this->transformPosts()); } protected function transformPosts() { return $this->posts->map(function ($post) { return [ 'title' => $post->title, 'description' => $post->description, 'body' => $post->body, 'published_date' => $post->published_at->toIso8601String(), 'created' => $post->created_at->toIso8601String(), ]; }); } }
위는 간단한 애플리케이션 시나리오를 시뮬레이션하기 위한 기본 예일 뿐입니다. JSON 응답을 반환하지만 응답 레이어에서 단순히 사용하는 것이 아니라 내장된 구현이 객체를 JSON으로 변환하지만 일부 콘텐츠 처리를 수행합니다. 위의 예에서는 AppHttpResponsesResponse 클래스가 몇 가지 기본 기능을 제공할 수 있다고 가정합니다. 물론 응답 레이어에는 컨트롤러에서 직접 변환을 수행하는 대신 일부 변환 코드(Fractal과 유사)가 포함될 수도 있습니다.
위 예제에서 PostIndexResponse 클래스와 협력하는 컨트롤러 코드는 다음과 유사합니다.
이 인터페이스에 대해 더 자세히 알고 싶다면 프로젝트에서 해당 코드의 커밋을 볼 수 있습니다.
Summary
위의 내용이 이 글의 전부입니다. 모든 분들께 도움이 되었으면 좋겠습니다.
관련 권장사항:
laravel의 교차 도메인 솔루션 avel 개발 자세한 설명
위 내용은 request_php 예제에 응답하기 위해 Laravel 5.5에서 제공되는 반응형 인터페이스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。

在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
