Kelas 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 tersebutBerinteraksi Dengan PermintaanMengakses PermintaanUntuk mendapatkan instance dari permintaan HTTP saat ini melalui injeksi ketergantungan, Anda harus mengetikkan kelas 2 pada penutupan rute atau metode pengontrol Anda. Instance permintaan yang masuk akan secara otomatis disuntikkan oleh wadah layanan Laravel
Seperti yang disebutkan, Anda juga dapat mengetikkan kelas 2 pada penutupan rute. Wadah layanan akan secara otomatis menyuntikkan permintaan yang masuk ke dalam penutupan saat dijalankan _Injeksi Ketergantungan & Parameter RuteJika 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
Anda masih dapat mengetik petunjuk _2 dan mengakses parameter rute 6 Anda dengan mendefinisikan metode pengontrol Anda sebagai berikut _Jalur Permintaan, Host, & MetodeContoh 2 menyediakan berbagai metode untuk memeriksa permintaan HTTP yang masuk dan memperluas kelas 8. Kami akan membahas beberapa metode terpenting di bawah iniMengambil Jalur PermintaanMetode 9 mengembalikan informasi jalur permintaan. Jadi, jika permintaan masuk ditargetkan pada 0, metode 9 akan mengembalikan 2Memeriksa Jalur / Rute PermintaanMetode _3 memungkinkan Anda memverifikasi bahwa jalur permintaan yang masuk cocok dengan pola yang diberikan. Anda dapat menggunakan karakter _4 sebagai wildcard saat menggunakan metode ini
Dengan menggunakan metode _5, Anda dapat menentukan apakah permintaan yang masuk cocok dengan a
Mengambil URL PermintaanUntuk mengambil URL lengkap untuk permintaan masuk, Anda dapat menggunakan metode 6 atau 7. Metode _6 akan mengembalikan URL tanpa string kueri, sedangkan metode 7 menyertakan string kueri
Jika Anda ingin menambahkan data string kueri ke URL saat ini, Anda dapat memanggil metode 0. Metode ini menggabungkan larik variabel string kueri yang diberikan dengan string kueri saat ini
Mengambil Host PermintaanAnda dapat mengambil "host" dari permintaan yang masuk melalui metode 1, 2, dan 3
Mengambil Metode PermintaanMetode _4 akan mengembalikan kata kerja HTTP untuk permintaan tersebut. Anda dapat menggunakan metode _5 untuk memverifikasi bahwa kata kerja HTTP cocok dengan string yang diberikan
Header PermintaanAnda dapat mengambil header permintaan dari instance 2 menggunakan metode 7. Jika header tidak ada pada permintaan, 8 akan dikembalikan. Namun, metode _7 menerima argumen opsional kedua yang akan dikembalikan jika header tidak ada pada permintaan _0Metode _0 dapat digunakan untuk menentukan apakah permintaan berisi header tertentu _1Untuk kenyamanan, metode _1 dapat digunakan untuk mengambil token pembawa dari header 2. Jika tidak ada tajuk seperti itu, string kosong akan dikembalikan _2Minta Alamat IPMetode _3 dapat digunakan untuk mengambil alamat IP klien yang mengajukan permintaan ke aplikasi Anda _3Negosiasi KontenLaravel menyediakan beberapa metode untuk memeriksa jenis konten yang diminta dari permintaan masuk melalui header 4. Pertama, metode _5 akan mengembalikan array yang berisi semua tipe konten yang diterima oleh permintaan _4Metode _6 menerima array tipe konten dan mengembalikan 7 jika salah satu tipe konten diterima oleh permintaan. Jika tidak, 8 akan dikembalikan _5Anda dapat menggunakan metode _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, 8 akan dikembalikan _6Karena banyak aplikasi hanya menyajikan HTML atau JSON, Anda dapat menggunakan metode 01 untuk menentukan dengan cepat apakah permintaan yang masuk mengharapkan respons JSON _7Permintaan PSR-7Standar 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 _8Setelah Anda menginstal pustaka ini, Anda dapat memperoleh permintaan PSR-7 dengan mengetikkan antarmuka permintaan pada penutupan rute atau metode pengontrol Anda _9
MemasukkanMengambil MasukanMengambil Semua Data InputAnda dapat mengambil semua input data permintaan yang masuk sebagai 02 menggunakan metode 03. Metode ini dapat digunakan terlepas dari apakah permintaan yang masuk berasal dari formulir HTML atau permintaan XHRMenggunakan metode _04, Anda dapat mengambil semua input data permintaan yang masuk sebagai koleksi 0Metode 04 juga memungkinkan Anda untuk mengambil subset dari input permintaan yang masuk sebagai koleksi 1Mengambil Nilai InputDengan menggunakan beberapa metode sederhana, Anda dapat mengakses semua input pengguna dari instans 2 Anda tanpa mengkhawatirkan kata kerja HTTP mana yang digunakan untuk permintaan tersebut. Terlepas dari kata kerja HTTP, metode _07 dapat digunakan untuk mengambil input pengguna 2Anda dapat memberikan nilai default sebagai argumen kedua ke metode 07. Nilai ini akan dikembalikan jika nilai masukan yang diminta tidak ada pada permintaan _3Saat bekerja dengan formulir yang berisi masukan larik, gunakan notasi "titik" untuk mengakses larik _4Anda dapat memanggil metode 07 tanpa argumen apa pun untuk mengambil semua nilai input sebagai array asosiatif 5Mengambil Input Dari String KueriSementara metode _07 mengambil nilai dari seluruh payload permintaan (termasuk string kueri), metode 11 hanya akan mengambil nilai dari string kueri _6Jika data nilai string kueri yang diminta tidak ada, argumen kedua untuk metode ini akan dikembalikan _7Anda dapat memanggil metode 11 tanpa argumen apa pun untuk mengambil semua nilai string kueri sebagai array asosiatif _8Mengambil Nilai Input JSONSaat mengirim permintaan JSON ke aplikasi Anda, Anda dapat mengakses data JSON melalui metode 07 selama header 14 dari permintaan diatur dengan benar ke 15. Anda bahkan dapat menggunakan sintaks "dot" untuk mengambil nilai yang bersarang di dalam array/objek JSON _9Mengambil Nilai Input StringableAlih-alih mengambil data input permintaan sebagai 16 primitif, Anda dapat menggunakan metode 16 untuk mengambil data permintaan sebagai turunan dari _0Mengambil Nilai Input BooleanSaat 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 _19 untuk mengambil nilai ini sebagai boolean. Metode 19 mengembalikan 7 untuk 1, "1", true, "true", "on", dan "yes". Semua nilai lainnya akan mengembalikan 8 _1Mengambil Nilai Masukan TanggalUntuk kemudahan, nilai input yang berisi tanggal/waktu dapat diambil sebagai instance Carbon menggunakan metode 23. Jika permintaan tidak berisi nilai masukan dengan nama yang diberikan, 8 akan dikembalikan _2Argumen kedua dan ketiga yang diterima oleh metode _23 dapat digunakan masing-masing untuk menentukan format tanggal dan zona waktu _3Jika nilai input ada tetapi memiliki format yang tidak valid, 26 akan dilempar; Mengambil Nilai Input EnumNilai 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, 8 akan dikembalikan. Metode 29 menerima nama nilai input dan kelas enum sebagai argumen pertama dan kedua _4Mengambil Input Melalui Properti DinamisAnda juga dapat mengakses input pengguna menggunakan properti dinamis pada instance 2. Misalnya, jika salah satu formulir aplikasi Anda berisi bidang 31, Anda dapat mengakses nilai bidang seperti ituSaat 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 InputJika Anda perlu mengambil subset dari input data, Anda dapat menggunakan metode 32 dan 33. Kedua metode ini menerima satu _02 atau daftar argumen yang dinamis _5
Menentukan Jika Ada InputAnda dapat menggunakan metode _36 untuk menentukan apakah ada nilai pada permintaan. Metode 36 mengembalikan 7 jika nilainya ada pada permintaan _6Saat diberi array, metode _36 akan menentukan apakah semua nilai yang ditentukan ada _7Metode 40 akan mengeksekusi penutupan yang diberikan jika ada nilai pada permintaan _8Penutupan kedua dapat diteruskan ke metode 40 yang akan dieksekusi jika nilai yang ditentukan tidak ada pada permintaan _9Metode 42 mengembalikan 7 jika ada nilai yang ditentukan 0Jika Anda ingin menentukan apakah suatu nilai ada pada permintaan dan bukan string kosong, Anda dapat menggunakan metode 44 1Metode 45 akan mengeksekusi penutupan yang diberikan jika ada nilai pada permintaan dan bukan string kosong 2Penutupan kedua dapat diteruskan ke metode 45 yang akan dieksekusi jika nilai yang ditentukan tidak "diisi" 3Untuk menentukan apakah kunci tertentu tidak ada dalam permintaan, Anda dapat menggunakan metode ________4______47 dan 48 _4Menggabungkan Input TambahanTerkadang Anda mungkin perlu menggabungkan masukan tambahan secara manual ke dalam data masukan permintaan yang sudah ada. Untuk melakukannya, Anda dapat menggunakan metode _49. Jika kunci input yang diberikan sudah ada pada permintaan, itu akan ditimpa oleh data yang diberikan ke metode 49 5Metode 51 dapat digunakan untuk menggabungkan masukan ke dalam permintaan jika kunci yang sesuai belum ada dalam data masukan permintaan 6Masukan LamaLaravel 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 SesiMetode 52 pada kelas 2 akan mem-flash input saat ini ke sesi sehingga tersedia selama permintaan pengguna berikutnya ke aplikasiAnda juga dapat menggunakan metode 54 dan 55 untuk mem-flash subset dari permintaan data ke sesi. Metode ini berguna untuk menyimpan informasi sensitif seperti kata sandi dari sesi 7Berkedip Input Kemudian Mengarahkan UlangKarena 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 56 8Mengambil Masukan LamaUntuk mengambil input yang di-flash dari permintaan sebelumnya, aktifkan metode 57 pada instance 2. Metode 57 akan menarik data input yang sebelumnya di-flash dari sesi _9Laravel juga menyediakan helper _57 global. Jika Anda menampilkan masukan lama di dalam templat Blade, akan lebih mudah menggunakan bantuan 57 untuk mengisi ulang formulir. Jika tidak ada masukan lama untuk bidang yang diberikan, 8 akan dikembalikan _0KueMengambil Cookie Dari PermintaanSemua 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 63 pada instance 2 _1Pemangkasan & Normalisasi MasukanSecara default, Laravel menyertakan middleware _65 dan 66 di tumpukan middleware global aplikasi Anda. Middleware ini terdaftar di tumpukan middleware global oleh kelas 67. Middleware ini akan secara otomatis memangkas semua kolom string yang masuk sesuai permintaan, serta mengonversi kolom string kosong apa pun menjadi 8. Ini memungkinkan Anda untuk tidak perlu khawatir tentang masalah normalisasi ini di rute dan pengontrol AndaMenonaktifkan Normalisasi InputJika Anda ingin menonaktifkan perilaku ini untuk semua permintaan, Anda dapat menghapus dua middleware dari tumpukan middleware aplikasi Anda dengan menghapusnya dari properti 69 dari kelas 67 AndaJika Anda ingin menonaktifkan pemangkasan string dan mengosongkan konversi string untuk subkumpulan permintaan ke aplikasi Anda, Anda dapat menggunakan metode 71 yang ditawarkan oleh kedua middleware. Metode ini menerima penutupan yang harus mengembalikan 7 atau 8 untuk menunjukkan apakah normalisasi input harus dilewati. Biasanya, metode _71 harus dipanggil dalam metode 75 dari 76 aplikasi Anda _2FileMengambil File yang DiunggahAnda dapat mengambil file yang diunggah dari instance _2 menggunakan metode 78 atau menggunakan properti dinamis. Metode 78 mengembalikan turunan dari kelas 80, yang memperluas kelas 81 PHP dan menyediakan berbagai metode untuk berinteraksi dengan file _3Anda dapat menentukan apakah ada file pada permintaan menggunakan metode 82 _4Memvalidasi Pengunggahan yang BerhasilSelain memeriksa apakah file tersebut ada, Anda dapat memverifikasi bahwa tidak ada masalah saat mengunggah file melalui metode 83 _5Jalur File & EkstensiKelas 84 juga berisi metode untuk mengakses jalur file yang sepenuhnya memenuhi syarat dan ekstensinya. Metode 85 akan mencoba menebak ekstensi file berdasarkan isinya. Ekstensi ini mungkin berbeda dengan ekstensi yang disediakan oleh klien _6Metode File LainnyaAda 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 DiunggahUntuk menyimpan file yang diunggah, biasanya Anda akan menggunakan salah satu sistem file yang dikonfigurasi. Kelas 84 memiliki metode 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 S3Metode 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 fileMetode 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 _7Jika Anda tidak ingin nama file dibuat secara otomatis, Anda dapat menggunakan metode 91, yang menerima jalur, nama file, dan nama disk sebagai argumennya _8
Mengonfigurasi Proksi TepercayaSaat 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 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 amanUntuk mengatasi ini, Anda dapat menggunakan middleware _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 94 dari middleware ini. Selain mengonfigurasi proxy tepercaya, Anda dapat mengonfigurasi proxy 95 yang harus dipercaya _9
Mempercayai Semua ProksiJika 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 _4 untuk mempercayai semua proxy 0Mengonfigurasi Host TepercayaSecara default, Laravel akan menanggapi semua permintaan yang diterima terlepas dari konten header 00 permintaan HTTP. Selain itu, nilai header _00 akan digunakan saat membuat URL absolut ke aplikasi Anda selama permintaan webBiasanya, 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 02 untuk aplikasi AndaMiddleware _03 sudah termasuk dalam tumpukan 69 aplikasi Anda; . Dalam metode 05 middleware ini, Anda dapat menentukan nama host yang harus ditanggapi oleh aplikasi Anda. Permintaan masuk dengan header nilai _00 lainnya akan ditolak _1Metode pembantu _07 akan mengembalikan ekspresi reguler yang cocok dengan semua subdomain dari nilai konfigurasi 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. |