Php posting ke url dan dapatkan respons

Kelas

$urlWithQueryString = $request->fullUrl();

2 Laravel menyediakan cara berorientasi objek untuk berinteraksi dengan permintaan HTTP saat ini yang ditangani oleh aplikasi Anda serta mengambil input, cookie, dan file yang dikirimkan dengan permintaan tersebut

Berinteraksi Dengan Permintaan

Mengakses Permintaan

Untuk mendapatkan instance dari permintaan HTTP saat ini melalui injeksi ketergantungan, Anda harus mengetikkan kelas

$urlWithQueryString = $request->fullUrl();

2 pada penutupan rute atau metode pengontrol Anda. Instance permintaan yang masuk akan secara otomatis disuntikkan oleh wadah layanan Laravel

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function store(Request $request)

$name = $request->input('name');

Seperti yang disebutkan, Anda juga dapat mengetikkan kelas

$urlWithQueryString = $request->fullUrl();

2 pada penutupan rute. Wadah layanan akan secara otomatis menyuntikkan permintaan yang masuk ke dalam penutupan saat dijalankan

use Illuminate\Http\Request;

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

_

Injeksi Ketergantungan & Parameter Rute

Jika metode pengontrol Anda juga mengharapkan input dari parameter rute, Anda harus mencantumkan parameter rute setelah dependensi Anda yang lain. Misalnya, jika rute Anda ditentukan seperti itu

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

Anda masih dapat mengetik petunjuk

$urlWithQueryString = $request->fullUrl();

_2 dan mengakses parameter rute

$urlWithQueryString = $request->fullUrl();

6 Anda dengan mendefinisikan metode pengontrol Anda sebagai berikut

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_

Jalur Permintaan, Host, & Metode

Contoh

$urlWithQueryString = $request->fullUrl();

2 menyediakan berbagai metode untuk memeriksa permintaan HTTP yang masuk dan memperluas kelas

$urlWithQueryString = $request->fullUrl();

8. Kami akan membahas beberapa metode terpenting di bawah ini

Mengambil Jalur Permintaan

Metode

$urlWithQueryString = $request->fullUrl();

9 mengembalikan informasi jalur permintaan. Jadi, jika permintaan masuk ditargetkan pada

$request->fullUrlWithQuery(['type' => 'phone']);

0, metode

$urlWithQueryString = $request->fullUrl();

9 akan mengembalikan

$request->fullUrlWithQuery(['type' => 'phone']);

2

Memeriksa Jalur / Rute Permintaan

Metode

$request->fullUrlWithQuery(['type' => 'phone']);

_3 memungkinkan Anda memverifikasi bahwa jalur permintaan yang masuk cocok dengan pola yang diberikan. Anda dapat menggunakan karakter

$request->fullUrlWithQuery(['type' => 'phone']);

_4 sebagai wildcard saat menggunakan metode ini

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

Dengan menggunakan metode

$request->fullUrlWithQuery(['type' => 'phone']);

_5, Anda dapat menentukan apakah permintaan yang masuk cocok dengan a

if ($request->routeIs('admin.*')) {

Mengambil URL Permintaan

Untuk mengambil URL lengkap untuk permintaan masuk, Anda dapat menggunakan metode

$request->fullUrlWithQuery(['type' => 'phone']);

6 atau

$request->fullUrlWithQuery(['type' => 'phone']);

7. Metode

$request->fullUrlWithQuery(['type' => 'phone']);

_6 akan mengembalikan URL tanpa string kueri, sedangkan metode

$request->fullUrlWithQuery(['type' => 'phone']);

7 menyertakan string kueri

$urlWithQueryString = $request->fullUrl();

Jika Anda ingin menambahkan data string kueri ke URL saat ini, Anda dapat memanggil metode

$request->schemeAndHttpHost();

0. Metode ini menggabungkan larik variabel string kueri yang diberikan dengan string kueri saat ini

$request->fullUrlWithQuery(['type' => 'phone']);

Mengambil Host Permintaan

Anda dapat mengambil "host" dari permintaan yang masuk melalui metode

$request->schemeAndHttpHost();

1,

$request->schemeAndHttpHost();

2, dan

$request->schemeAndHttpHost();

3

$request->schemeAndHttpHost();

Mengambil Metode Permintaan

Metode

$request->schemeAndHttpHost();

_4 akan mengembalikan kata kerja HTTP untuk permintaan tersebut. Anda dapat menggunakan metode

$request->schemeAndHttpHost();

_5 untuk memverifikasi bahwa kata kerja HTTP cocok dengan string yang diberikan

$method = $request->method();

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

Header Permintaan

Anda dapat mengambil header permintaan dari instance

$urlWithQueryString = $request->fullUrl();

2 menggunakan metode

$request->schemeAndHttpHost();

7. Jika header tidak ada pada permintaan,

$request->schemeAndHttpHost();

8 akan dikembalikan. Namun, metode

$request->schemeAndHttpHost();

_7 menerima argumen opsional kedua yang akan dikembalikan jika header tidak ada pada permintaan

use Illuminate\Http\Request;

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

_0

Metode

$method = $request->method();

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

_0 dapat digunakan untuk menentukan apakah permintaan berisi header tertentu

use Illuminate\Http\Request;

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

_1

Untuk kenyamanan, metode

$method = $request->method();

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

_1 dapat digunakan untuk mengambil token pembawa dari header

$method = $request->method();

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

2. Jika tidak ada tajuk seperti itu, string kosong akan dikembalikan

use Illuminate\Http\Request;

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

_2

Minta Alamat IP

Metode

$method = $request->method();

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

_3 dapat digunakan untuk mengambil alamat IP klien yang mengajukan permintaan ke aplikasi Anda

use Illuminate\Http\Request;

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

_3

Negosiasi Konten

Laravel menyediakan beberapa metode untuk memeriksa jenis konten yang diminta dari permintaan masuk melalui header

$method = $request->method();

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

4. Pertama, metode

$method = $request->method();

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

_5 akan mengembalikan array yang berisi semua tipe konten yang diterima oleh permintaan

use Illuminate\Http\Request;

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

_4

Metode

$method = $request->method();

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

_6 menerima array tipe konten dan mengembalikan

$method = $request->method();

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

7 jika salah satu tipe konten diterima oleh permintaan. Jika tidak,

$method = $request->method();

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

8 akan dikembalikan

use Illuminate\Http\Request;

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

_5

Anda dapat menggunakan metode

$method = $request->method();

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

_9 untuk menentukan tipe konten mana dari array tipe konten tertentu yang paling disukai oleh permintaan. Jika tidak ada jenis konten yang diterima oleh permintaan,

$request->schemeAndHttpHost();

8 akan dikembalikan

use Illuminate\Http\Request;

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

_6

Karena banyak aplikasi hanya menyajikan HTML atau JSON, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

01 untuk menentukan dengan cepat apakah permintaan yang masuk mengharapkan respons JSON

use Illuminate\Http\Request;

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

_7

Permintaan PSR-7

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

use Illuminate\Http\Request;

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

_8

Setelah Anda menginstal pustaka ini, Anda dapat memperoleh permintaan PSR-7 dengan mengetikkan antarmuka permintaan pada penutupan rute atau metode pengontrol Anda

use Illuminate\Http\Request;

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

_9

Catatan
Jika Anda mengembalikan instans respons PSR-7 dari rute atau pengontrol, itu akan secara otomatis dikonversi kembali ke instans respons Laravel dan ditampilkan oleh kerangka kerja

Memasukkan

Mengambil Masukan

Mengambil Semua Data Input

Anda dapat mengambil semua input data permintaan yang masuk sebagai

use Illuminate\Http\Request;

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

02 menggunakan metode

use Illuminate\Http\Request;

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

03. Metode ini dapat digunakan terlepas dari apakah permintaan yang masuk berasal dari formulir HTML atau permintaan XHR

Menggunakan metode

use Illuminate\Http\Request;

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

_04, Anda dapat mengambil semua input data permintaan yang masuk sebagai koleksi

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

0

Metode

use Illuminate\Http\Request;

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

04 juga memungkinkan Anda untuk mengambil subset dari input permintaan yang masuk sebagai koleksi

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

1

Mengambil Nilai Input

Dengan menggunakan beberapa metode sederhana, Anda dapat mengakses semua input pengguna dari instans

$urlWithQueryString = $request->fullUrl();

2 Anda tanpa mengkhawatirkan kata kerja HTTP mana yang digunakan untuk permintaan tersebut. Terlepas dari kata kerja HTTP, metode

use Illuminate\Http\Request;

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

_07 dapat digunakan untuk mengambil input pengguna

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

2

Anda dapat memberikan nilai default sebagai argumen kedua ke metode

use Illuminate\Http\Request;

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

07. Nilai ini akan dikembalikan jika nilai masukan yang diminta tidak ada pada permintaan

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_3

Saat bekerja dengan formulir yang berisi masukan larik, gunakan notasi "titik" untuk mengakses larik

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_4

Anda dapat memanggil metode

use Illuminate\Http\Request;

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

07 tanpa argumen apa pun untuk mengambil semua nilai input sebagai array asosiatif

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

5

Mengambil Input Dari String Kueri

Sementara metode

use Illuminate\Http\Request;

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

_07 mengambil nilai dari seluruh payload permintaan (termasuk string kueri), metode

use Illuminate\Http\Request;

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

11 hanya akan mengambil nilai dari string kueri

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_6

Jika data nilai string kueri yang diminta tidak ada, argumen kedua untuk metode ini akan dikembalikan

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_7

Anda dapat memanggil metode

use Illuminate\Http\Request;

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

11 tanpa argumen apa pun untuk mengambil semua nilai string kueri sebagai array asosiatif

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_8

Mengambil Nilai Input JSON

Saat mengirim permintaan JSON ke aplikasi Anda, Anda dapat mengakses data JSON melalui metode

use Illuminate\Http\Request;

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

07 selama header

use Illuminate\Http\Request;

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

14 dari permintaan diatur dengan benar ke

use Illuminate\Http\Request;

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

15. Anda bahkan dapat menggunakan sintaks "dot" untuk mengambil nilai yang bersarang di dalam array/objek JSON

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_9

Mengambil Nilai Input Stringable

Alih-alih mengambil data input permintaan sebagai

use Illuminate\Http\Request;

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

16 primitif, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

16 untuk mengambil data permintaan sebagai turunan dari

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_0

Mengambil Nilai Input Boolean

Saat menangani elemen HTML seperti kotak centang, aplikasi Anda mungkin menerima nilai "benar" yang sebenarnya adalah string. Misalnya, "benar" atau "aktif". Untuk kenyamanan, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

_19 untuk mengambil nilai ini sebagai boolean. Metode

use Illuminate\Http\Request;

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

19 mengembalikan

$method = $request->method();

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

7 untuk 1, "1", true, "true", "on", dan "yes". Semua nilai lainnya akan mengembalikan

$method = $request->method();

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

8

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_1

Mengambil Nilai Masukan Tanggal

Untuk kemudahan, nilai input yang berisi tanggal/waktu dapat diambil sebagai instance Carbon menggunakan metode

use Illuminate\Http\Request;

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

23. Jika permintaan tidak berisi nilai masukan dengan nama yang diberikan,

$request->schemeAndHttpHost();

8 akan dikembalikan

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_2

Argumen kedua dan ketiga yang diterima oleh metode

use Illuminate\Http\Request;

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

_23 dapat digunakan masing-masing untuk menentukan format tanggal dan zona waktu

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_3

Jika nilai input ada tetapi memiliki format yang tidak valid,

use Illuminate\Http\Request;

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

26 akan dilempar;

Mengambil Nilai Input Enum

Nilai input yang sesuai dengan enum PHP juga dapat diambil dari permintaan. Jika permintaan tidak berisi nilai masukan dengan nama yang diberikan atau enum tidak memiliki nilai pendukung yang cocok dengan nilai masukan,

$request->schemeAndHttpHost();

8 akan dikembalikan. Metode

use Illuminate\Http\Request;

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

29 menerima nama nilai input dan kelas enum sebagai argumen pertama dan kedua

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_4

Mengambil Input Melalui Properti Dinamis

Anda juga dapat mengakses input pengguna menggunakan properti dinamis pada instance

$urlWithQueryString = $request->fullUrl();

2. Misalnya, jika salah satu formulir aplikasi Anda berisi bidang

use Illuminate\Http\Request;

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

31, Anda dapat mengakses nilai bidang seperti itu

Saat menggunakan properti dinamis, Laravel pertama-tama akan mencari nilai parameter di payload permintaan. Jika tidak ada, Laravel akan mencari bidang di parameter rute yang cocok

Mengambil Sebagian Data Input

Jika Anda perlu mengambil subset dari input data, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

32 dan

use Illuminate\Http\Request;

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

33. Kedua metode ini menerima satu

use Illuminate\Http\Request;

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

_02 atau daftar argumen yang dinamis

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_5

Peringatan
Metode

use Illuminate\Http\Request;

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

32 mengembalikan semua pasangan kunci / nilai yang Anda minta;

Menentukan Jika Ada Input

Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

_36 untuk menentukan apakah ada nilai pada permintaan. Metode

use Illuminate\Http\Request;

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

36 mengembalikan

$method = $request->method();

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

7 jika nilainya ada pada permintaan

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_6

Saat diberi array, metode

use Illuminate\Http\Request;

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

_36 akan menentukan apakah semua nilai yang ditentukan ada

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_7

Metode

use Illuminate\Http\Request;

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

40 akan mengeksekusi penutupan yang diberikan jika ada nilai pada permintaan

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_8

Penutupan kedua dapat diteruskan ke metode

use Illuminate\Http\Request;

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

40 yang akan dieksekusi jika nilai yang ditentukan tidak ada pada permintaan

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller

* Update the specified user.

* @param \Illuminate\Http\Request $request

* @return \Illuminate\Http\Response

public function update(Request $request, $id)

_9

Metode

use Illuminate\Http\Request;

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

42 mengembalikan

$method = $request->method();

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

7 jika ada nilai yang ditentukan

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

0

Jika Anda ingin menentukan apakah suatu nilai ada pada permintaan dan bukan string kosong, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

44

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

1

Metode

use Illuminate\Http\Request;

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

45 akan mengeksekusi penutupan yang diberikan jika ada nilai pada permintaan dan bukan string kosong

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

2

Penutupan kedua dapat diteruskan ke metode

use Illuminate\Http\Request;

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

45 yang akan dieksekusi jika nilai yang ditentukan tidak "diisi"

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

3

Untuk menentukan apakah kunci tertentu tidak ada dalam permintaan, Anda dapat menggunakan metode ________4______47 dan

use Illuminate\Http\Request;

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

48

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

_4

Menggabungkan Input Tambahan

Terkadang Anda mungkin perlu menggabungkan masukan tambahan secara manual ke dalam data masukan permintaan yang sudah ada. Untuk melakukannya, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

_49. Jika kunci input yang diberikan sudah ada pada permintaan, itu akan ditimpa oleh data yang diberikan ke metode

use Illuminate\Http\Request;

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

49

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

5

Metode

use Illuminate\Http\Request;

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

51 dapat digunakan untuk menggabungkan masukan ke dalam permintaan jika kunci yang sesuai belum ada dalam data masukan permintaan

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

6

Masukan Lama

Laravel memungkinkan Anda menyimpan input dari satu permintaan selama permintaan berikutnya. Fitur ini sangat berguna untuk mengisi ulang formulir setelah mendeteksi kesalahan validasi. Namun, jika Anda menggunakan fitur validasi yang disertakan Laravel, ada kemungkinan Anda tidak perlu menggunakan metode flash input sesi ini secara langsung, karena beberapa fasilitas validasi bawaan Laravel akan memanggilnya secara otomatis

Berkedip Masukan Ke Sesi

Metode

use Illuminate\Http\Request;

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

52 pada kelas

$urlWithQueryString = $request->fullUrl();

2 akan mem-flash input saat ini ke sesi sehingga tersedia selama permintaan pengguna berikutnya ke aplikasi

Anda juga dapat menggunakan metode

use Illuminate\Http\Request;

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

54 dan

use Illuminate\Http\Request;

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

55 untuk mem-flash subset dari permintaan data ke sesi. Metode ini berguna untuk menyimpan informasi sensitif seperti kata sandi dari sesi

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

7

Berkedip Input Kemudian Mengarahkan Ulang

Karena Anda sering ingin mem-flash input ke sesi dan kemudian mengarahkan ulang ke halaman sebelumnya, Anda dapat dengan mudah menghubungkan input flashing ke redirect menggunakan metode

use Illuminate\Http\Request;

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

56

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

8

Mengambil Masukan Lama

Untuk mengambil input yang di-flash dari permintaan sebelumnya, aktifkan metode

use Illuminate\Http\Request;

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

57 pada instance

$urlWithQueryString = $request->fullUrl();

2. Metode

use Illuminate\Http\Request;

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

57 akan menarik data input yang sebelumnya di-flash dari sesi

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

_9

Laravel juga menyediakan helper

use Illuminate\Http\Request;

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

_57 global. Jika Anda menampilkan masukan lama di dalam templat Blade, akan lebih mudah menggunakan bantuan

use Illuminate\Http\Request;

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

57 untuk mengisi ulang formulir. Jika tidak ada masukan lama untuk bidang yang diberikan,

$request->schemeAndHttpHost();

8 akan dikembalikan

if ($request->routeIs('admin.*')) {

_0

Kue

Mengambil Cookie Dari Permintaan

Semua cookie yang dibuat oleh framework Laravel dienkripsi dan ditandatangani dengan kode autentikasi, artinya cookie akan dianggap tidak valid jika telah diubah oleh klien. Untuk mengambil nilai cookie dari permintaan, gunakan metode

use Illuminate\Http\Request;

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

63 pada instance

$urlWithQueryString = $request->fullUrl();

2

if ($request->routeIs('admin.*')) {

_1

Pemangkasan & Normalisasi Masukan

Secara default, Laravel menyertakan middleware

use Illuminate\Http\Request;

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

_65 dan

use Illuminate\Http\Request;

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

66 di tumpukan middleware global aplikasi Anda. Middleware ini terdaftar di tumpukan middleware global oleh kelas

use Illuminate\Http\Request;

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

67. Middleware ini akan secara otomatis memangkas semua kolom string yang masuk sesuai permintaan, serta mengonversi kolom string kosong apa pun menjadi

$request->schemeAndHttpHost();

8. Ini memungkinkan Anda untuk tidak perlu khawatir tentang masalah normalisasi ini di rute dan pengontrol Anda

Menonaktifkan Normalisasi Input

Jika Anda ingin menonaktifkan perilaku ini untuk semua permintaan, Anda dapat menghapus dua middleware dari tumpukan middleware aplikasi Anda dengan menghapusnya dari properti

use Illuminate\Http\Request;

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

69 dari kelas

use Illuminate\Http\Request;

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

67 Anda

Jika Anda ingin menonaktifkan pemangkasan string dan mengosongkan konversi string untuk subkumpulan permintaan ke aplikasi Anda, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

71 yang ditawarkan oleh kedua middleware. Metode ini menerima penutupan yang harus mengembalikan

$method = $request->method();

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

7 atau

$method = $request->method();

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

8 untuk menunjukkan apakah normalisasi input harus dilewati. Biasanya, metode

use Illuminate\Http\Request;

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

_71 harus dipanggil dalam metode

use Illuminate\Http\Request;

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

75 dari

use Illuminate\Http\Request;

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

76 aplikasi Anda

if ($request->routeIs('admin.*')) {

_2

File

Mengambil File yang Diunggah

Anda dapat mengambil file yang diunggah dari instance

$urlWithQueryString = $request->fullUrl();

_2 menggunakan metode

use Illuminate\Http\Request;

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

78 atau menggunakan properti dinamis. Metode

use Illuminate\Http\Request;

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

78 mengembalikan turunan dari kelas

use Illuminate\Http\Request;

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

80, yang memperluas kelas

use Illuminate\Http\Request;

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

81 PHP dan menyediakan berbagai metode untuk berinteraksi dengan file

if ($request->routeIs('admin.*')) {

_3

Anda dapat menentukan apakah ada file pada permintaan menggunakan metode

use Illuminate\Http\Request;

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

82

if ($request->routeIs('admin.*')) {

_4

Memvalidasi Pengunggahan yang Berhasil

Selain memeriksa apakah file tersebut ada, Anda dapat memverifikasi bahwa tidak ada masalah saat mengunggah file melalui metode

use Illuminate\Http\Request;

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

83

if ($request->routeIs('admin.*')) {

_5

Jalur File & Ekstensi

Kelas

use Illuminate\Http\Request;

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

84 juga berisi metode untuk mengakses jalur file yang sepenuhnya memenuhi syarat dan ekstensinya. Metode

use Illuminate\Http\Request;

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

85 akan mencoba menebak ekstensi file berdasarkan isinya. Ekstensi ini mungkin berbeda dengan ekstensi yang disediakan oleh klien

if ($request->routeIs('admin.*')) {

_6

Metode File Lainnya

Ada berbagai metode lain yang tersedia di ________4______84 contoh. Lihat dokumentasi API untuk kelas tersebut untuk informasi lebih lanjut mengenai metode ini

Menyimpan File yang Diunggah

Untuk menyimpan file yang diunggah, biasanya Anda akan menggunakan salah satu sistem file yang dikonfigurasi. Kelas

use Illuminate\Http\Request;

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

84 memiliki metode

use Illuminate\Http\Request;

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

88 yang akan memindahkan file yang diunggah ke salah satu disk Anda, yang mungkin merupakan lokasi di sistem file lokal Anda atau lokasi penyimpanan awan seperti Amazon S3

Metode

use Illuminate\Http\Request;

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

88 menerima jalur tempat file harus disimpan relatif terhadap direktori root yang dikonfigurasi sistem file. Jalur ini tidak boleh berisi nama file, karena ID unik akan dibuat secara otomatis untuk digunakan sebagai nama file

Metode

use Illuminate\Http\Request;

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

88 juga menerima argumen opsional kedua untuk nama disk yang harus digunakan untuk menyimpan file. Metode ini akan mengembalikan jalur file relatif ke root disk

if ($request->routeIs('admin.*')) {

_7

Jika Anda tidak ingin nama file dibuat secara otomatis, Anda dapat menggunakan metode

use Illuminate\Http\Request;

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

91, yang menerima jalur, nama file, dan nama disk sebagai argumennya

if ($request->routeIs('admin.*')) {

_8

Catatan
Untuk informasi lebih lanjut tentang penyimpanan file di Laravel, lihat dokumentasi penyimpanan file lengkap

Mengonfigurasi Proksi Tepercaya

Saat menjalankan aplikasi Anda di balik penyeimbang beban yang mengakhiri sertifikat TLS / SSL, Anda mungkin memperhatikan aplikasi Anda terkadang tidak menghasilkan tautan HTTPS saat menggunakan bantuan

$request->fullUrlWithQuery(['type' => 'phone']);

6. Biasanya hal ini terjadi karena aplikasi Anda sedang meneruskan lalu lintas dari penyeimbang muatan Anda pada port 80 dan tidak tahu aplikasi tersebut harus menghasilkan tautan aman

Untuk mengatasi ini, Anda dapat menggunakan middleware

use Illuminate\Http\Request;

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

_93 yang disertakan dalam aplikasi Laravel Anda, yang memungkinkan Anda untuk dengan cepat menyesuaikan penyeimbang beban atau proksi yang harus dipercaya oleh aplikasi Anda. Proksi tepercaya Anda harus terdaftar sebagai larik pada properti

use Illuminate\Http\Request;

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

94 dari middleware ini. Selain mengonfigurasi proxy tepercaya, Anda dapat mengonfigurasi proxy

use Illuminate\Http\Request;

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

95 yang harus dipercaya

if ($request->routeIs('admin.*')) {

_9

Catatan
Jika Anda menggunakan AWS Elastic Load Balancing, nilai

use Illuminate\Http\Request;

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

95 Anda harus

use Illuminate\Http\Request;

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

97. Untuk informasi lebih lanjut tentang konstanta yang dapat digunakan dalam properti

use Illuminate\Http\Request;

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

95, lihat dokumentasi Symfony tentang mempercayai proxy

Mempercayai Semua Proksi

Jika Anda menggunakan Amazon AWS atau penyedia penyeimbang beban "cloud" lainnya, Anda mungkin tidak mengetahui alamat IP penyeimbang Anda yang sebenarnya. Dalam hal ini, Anda dapat menggunakan

$request->fullUrlWithQuery(['type' => 'phone']);

_4 untuk mempercayai semua proxy

$urlWithQueryString = $request->fullUrl();

0

Mengonfigurasi Host Tepercaya

Secara default, Laravel akan menanggapi semua permintaan yang diterima terlepas dari konten header

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

00 permintaan HTTP. Selain itu, nilai header

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_00 akan digunakan saat membuat URL absolut ke aplikasi Anda selama permintaan web

Biasanya, Anda harus mengonfigurasi server web Anda, seperti Nginx atau Apache, untuk hanya mengirim permintaan ke aplikasi Anda yang cocok dengan nama host tertentu. Namun, jika Anda tidak memiliki kemampuan untuk menyesuaikan server web Anda secara langsung dan perlu menginstruksikan Laravel untuk hanya menanggapi nama host tertentu, Anda dapat melakukannya dengan mengaktifkan middleware

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

02 untuk aplikasi Anda

Middleware

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_03 sudah termasuk dalam tumpukan

use Illuminate\Http\Request;

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

69 aplikasi Anda; . Dalam metode

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

05 middleware ini, Anda dapat menentukan nama host yang harus ditanggapi oleh aplikasi Anda. Permintaan masuk dengan header nilai

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_00 lainnya akan ditolak

$urlWithQueryString = $request->fullUrl();

_1

Metode pembantu

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

_07 akan mengembalikan ekspresi reguler yang cocok dengan semua subdomain dari nilai konfigurasi

use App\Http\Controllers\UserController;

Route::put('/user/{id}', [UserController::class, 'update']);

08 aplikasi Anda. Metode bantuan ini menyediakan cara mudah untuk mengizinkan semua subdomain aplikasi Anda saat membuat aplikasi yang menggunakan subdomain wildcard

Bagaimana cara mengirim data POST ke URL dengan PHP?

Jika Anda ingin memposting data ke URL dari kode PHP itu sendiri (tanpa menggunakan formulir html), itu dapat dilakukan dengan curl. It will look like this: $url = 'http://www.someurl.com'; $myvars = 'myvar1=' . $myvar1 .

Bagaimana cara mendapatkan respons POST di PHP?

Metode POST mentransfer informasi melalui header HTTP. Informasi dikodekan seperti yang dijelaskan dalam kasus metode GET dan dimasukkan ke dalam header bernama QUERY_STRING . Metode POST tidak memiliki batasan ukuran data yang akan dikirim. Metode POST dapat digunakan untuk mengirim ASCII serta data biner.

Bagaimana kita bisa mengakses data yang dikirim melalui URL dengan metode POST di PHP?

Variabel $_REQUEST adalah variabel superglobal, yang dapat menyimpan konten dari variabel $_GET dan $_POST. Dengan kata lain, variabel PHP $_REQUEST digunakan untuk mengumpulkan data formulir yang dikirim dengan metode GET atau POST. Itu juga dapat mengumpulkan data untuk variabel $_COOKIE karena itu bukan variabel khusus metode

Bagaimana cara menangkap permintaan POST di PHP?

Permintaan PHP POST . $message"; $name = $_POST['name']; if ($name == null) { $name = 'guest'; } $message = $_POST['message']; if ($message == null) { $message = 'hello there'; } echo "$name says: $message"; Contoh mengambil parameter nama dan pesan dari variabel $_POST. Kami memulai server.