[英]Yii2 $model->load(Yii::$app->request->post()) does not load data from form
[英]Yii 2 - Difference between using $_POST and Yii::$app->request->post()
我正在從一本書(使用Yii 2和PHP進行Web應用程序開發)中學習Yii。 我遇到如下代碼:
if ($model->load(Yii::$app->request->post()) && $model->save()) {...}
但是這段代碼似乎功能相同:
if ($model->load($_POST && $model->save()) {...}
那么使用兩者之間有什么實際區別嗎?
使用request
對象的一個重要原因是可測試性 :
行使控制器動作的功能測試應該成為測試套件的一部分。 對於諸如“如果我打開/event/calendar
頁面,我會得到事件列表”之類的簡單方案,您可以創建模擬請求,要求框架處理它們,然后檢查結果¹。 您可以通過直接將值分配給$_GET
, $_POST
和其他超全局變量來進行此測試...但是使用框架的request
對象要容易得多,並且框架通常對此場景提供良好的支持。
例如:
¹:對於涉及用戶交互的更復雜的場景,這還不夠,您將需要Selenium之類的工具: http : //www.yiiframework.com/doc/guide/1.1/en/test.functional
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.