Memahami HTTP Requests Pada Laravel 5.8 Lengkap

joesep 2019-09-06 107

#Mengakses Request

Untuk mendapatkan contoh HTTP Request saat ini melalui dependency injection, Anda harus mengetikkan-petunjuk kelas pada metode controller Anda. Contoh request yang masuk akan secara otomatis di injection oleh service container: Illuminate\Http\Request

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * Store a new user.
     *
     * @param  Request  $request
     * @return Response
     */
    public function store(Request $request)
    {
        $name = $request->input('name');

        //
    }
}

Depedency Injection & Route Parameters

Jika method controller Anda juga mengharapkan input dari parameter route Anda harus mencantumkan parameter route Anda setelah dependensi Anda yang lain. Misalnya, jika route Anda didefinisikan seperti itu:

Route::put('user/{id}', 'UserController@update');

Anda masih dapat mengetikkan petunjuk dan mengakses parameter route Anda dengan mendefinisikan method controller Anda sebagai berikut: Illuminate\Http\Requestid

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    /**
     * Update the specified user.
     *
     * @param  Request  $request
     * @param  string  $id
     * @return Response
     */
    public function update(Request $request, $id)
    {
        //
    }
}

Accessing The Request Via Route Closures

Anda juga dapat mengetik-petunjuk kelas pada Penutupan route. Service Container akan secara otomatis menyuntikkan request masuk ke dalam Penutupan ketika dieksekusi: IlluminateHttpRequest

use Illuminate\Http\Request;

Route::get('/', function (Request $request) {
    //
});

 

 

Request Path & method 

Mesin virtual menyediakan berbagai method untuk memeriksa HTTP request untuk aplikasi Anda dan memperluas kelas. Kami akan membahas beberapa metode paling penting di bawah ini. IlluminateHttpRequestSymfonyComponentHttpFoundationRequest

 

Retrieving The request Path

The path method mengembalikan informasi path permintaan ini. Jadi, jika permintaan yang masuk ditargetkan , metode akan kembali :http://domain.com/foo/barpathfoo/bar

$uri = $request->path();

The is Method memungkinkan Anda untuk memverifikasi bahwa permintaan jalur masuk cocok dengan pola yang diberikan. Anda dapat menggunakan *karakter sebagai wildcard ketika menggunakan metode ini:

if ($request->is('admin/*')) {
    //
}

Retrieving The request URL

Untuk mengambil URL lengkap untuk request masuk, Anda dapat menggunakan metode url atau fullUrl. The url Metode akan kembali URL tanpa string query, sedangkan fullUrl metode termasuk string query:

// Without Query String...
$url = $request->url();

// With Query String...
$url = $request->fullUrl();

 

Retrieving The request Method

The method method akan mengembalikan kata kerja HTTP untuk permintaan. Anda dapat menggunakan isMethod metode ini untuk memverifikasi bahwa kata kerja HTTP cocok dengan string yang diberikan:

$method = $request->method();

if ($request->isMethod('post')) {
    //
}

 

PSR-7 Requests

Standar PSR-7 menentukan antarmuka untuk pesan HTTP, termasuk request dan respons. Jika Anda ingin mendapatkan instance request PSR-7 alih-alih request Laravel, Anda harus menginstal beberapa library terlebih dahulu. Laravel menggunakan komponen Bridge Message HTTP Symfony untuk mengonversi request dan respons Laravel yang khas menjadi implementasi yang kompatibel dengan PSR-7:

composer require symfony/psr-http-message-bridge
composer require zendframework/zend-diactoros

Setelah Anda menginstal library ini, Anda dapat memperoleh request PSR-7 dengan mengetik-mengisyaratkan antarmuka request pada route Anda. Method penutupan atau controller:

use PsrHttpMessageServerRequestInterface;

Route::get('/', function (ServerRequestInterface $request) {
    //
})
Jika Anda mengembalikan instance respons PSR-7 dari rute atau pengontrol, ia akan secara otomatis dikonversi kembali ke instance respons Laravel dan ditampilkan oleh framework.

Rekomendasi Artikel


Terbaru dari framework Laravel



Search


Top Stories


  1. Membuat Perulangan Segitiga Bintang Dengan PHP

    on 2018-01-12

  2. Membatasi Jumlah Karakter dengan PHP

    on 2018-01-23

  3. Kenapa Telinga Gatal dan Berair

    on 2018-04-13

  4. Membuat Tanggal dan Zona Waktu Sederhana dengan PHP

    Admin on 2017-11-26

  5. Membuat Paragraf Otomatis dengan Script PHP

    on 2018-01-26

Other Post


Top Videos


  1. Founder SB1M dan Pemilik Distro BLOOP ini BANGKIT dari BANGKRUT 16x dan HUTANG 11M | Christina Lie

    joesep on 2019-06-04

  2. vivo Z1 Pro VS OPPO A9 2020 | Duel HP 3 Jutaan Terbaik 2019!

    joesep on 2019-09-26

  3. FILM Horor Terbaru "SABRINA THE DOLL 2" Full Movie 2018

    Andri03 on 2018-08-01

  4. Sandiaga Uno Resmi Mundur dari Ketua Tim Pemenangan Partai Gerindra

    joesep on 2018-07-31

  5. Aplikasi Kasir Point of Sale Restoran / Kafe Berbasis WEB

    joesep on 2018-08-15

close