Rumah > Soal Jawab > teks badan
Dalam Laravel, apakah hubungan antara request['name'] dan request->get('name')?
曾经蜡笔没有小新2017-05-16 16:53:16
Tidak mengapa...jika ada, mereka mempunyai satu persamaan: mereka semua boleh mengambil nilai parameter.
Perbezaan:
get()
dilaksanakan oleh Symfony Request Ia boleh mendapatkan nilai dalam atribut, pertanyaan dan permintaan $request
dan boleh menentukan nilai lalai. Niat asal adalah terutamanya untuk digunakan oleh rangka kerja pihak ketiga untuk mendapatkan nilai atau menulis semula mereka. Secara amnya, nilai dalam pertanyaan diperoleh, yang pada asasnya sama dengan isset($_REQUEST['name']) ?
get()
是 Symfony Request 实现的,可以获取到 $request
的 attributes, query, request 里的值,并可以指定一个默认值。本意主要是提供给第三方框架取值或重写使用的。一般情况都是取到了 query 里的值,基本等同与 isset($_REQUEST['name']) ? $_REQUEST['name'] : $default
.
数组方式取值是 Laravel 提供的获取 query 参数值的方法,对 $request->all()
进行 data_get()
,支持 name 里的“点”分割获取数组的值,比如 $request['foo.bar']
, 性能上比直接 get()
当然差一丢丢,但是很 "Laravel way".
get()
方法在 Laravel 中对应的方法是 input()
和 file()
.
除了数组方式,Laravel 还提供了很多便捷方法操作参数值,比如 exists
has
all
only
except
intersect
等等..
在 Laravel 中,对 $request
直接属性访问也可以取参数值,比如 $request->name
data_get()
pada $request->all()
dan sokong "" dalam nama. Klik " untuk memisahkan untuk mendapatkan nilai tatasusunan, seperti $request['foo.bar']
. Prestasi pastinya sedikit lebih teruk daripada langsung get()
, tetapi ia adalah cara yang sangat "Laravel".get()
dalam Laravel ialah input()
dan file()
.🎜🎜
🎜🎜Selain kaedah tatasusunan, Laravel juga menyediakan banyak kaedah mudah untuk memanipulasi nilai parameter, seperti wujud
mempunyai
semua
sahaja< /code> except
intersect
dsb..🎜🎜
🎜🎜Dalam Laravel, akses atribut langsung kepada $request
juga boleh mengambil nilai parameter, seperti $request->name
, tetapi apabila tidak jelas sama ada parameter nama wujud atau tidak Kaedah ini tidak digalakkan🎜🎜
🎜balas0