我正在接管之前編寫的 Laravel 應(yīng)用程序,并嘗試了解各種事物如何組合在一起。在這樣做的過(guò)程中,我發(fā)現(xiàn)了以下代碼:class MyController extends Controller{ public function index(Request $request) { if ($request->popular) { //.... } //... }我不太確定 if 語(yǔ)句試圖訪問(wèn)什么。當(dāng)我將鼠標(biāo)懸停在該$request→popular部分上時(shí),它表示popular正在通過(guò)魔術(shù)方法訪問(wèn)該屬性。我也無(wú)法在代碼中的其他任何地方找到任何名為“popular”的屬性/方法。有誰(shuí)知道這可能想做什么?我知道該屬性popular不是對(duì)象的內(nèi)部屬性Request,因?yàn)樵诖a的后面,程序員還使用這種魔術(shù)方法格式訪問(wèn)各種其他屬性。它是某種訪問(wèn) URI 的簡(jiǎn)寫方式嗎?(例如,也許/api/popular)
1 回答

搖曳的薔薇
TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
是Input Via Dynamic Properties
。它還開(kāi)著Illuminate\Http\Request
。
例如,如果您的應(yīng)用程序表單之一包含一個(gè)name
字段,您可以像這樣訪問(wèn)該字段的值:
$name?=?$request->name;
和這個(gè)是一樣的:
$name?=?$request->input('name');
當(dāng)使用動(dòng)態(tài)屬性時(shí),Laravel 將首先在請(qǐng)求負(fù)載中查找參數(shù)的值。如果不存在,Laravel 將在路由參數(shù)中搜索該字段(例如:查詢字符串)。
在你的例子中,它可能是這樣的:
/api/posts?popular=1
如果您想知道這是如何做到的,請(qǐng)使用神奇的 PHP__get()
方法。
- 1 回答
- 0 關(guān)注
- 141 瀏覽
添加回答
舉報(bào)
0/150
提交
取消