簡體   English   中英

Yii 2-使用$ _POST和Yii :: $ app-> request-> post()之間的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM