Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 访问$form_状态并从中获取数据_Drupal_Drupal 8_Drupal Modules - Fatal编程技术网

Drupal 访问$form_状态并从中获取数据

Drupal 访问$form_状态并从中获取数据,drupal,drupal-8,drupal-modules,Drupal,Drupal 8,Drupal Modules,我正在进行Drupal故障排除会话,同时查看代码,发现以下代码: $rpms = $form_state->get(['storage', 'rpms']); 然后我发现 $rpm_selected = $form_state->getValue('rpms'); 我没有使用Drupal的经验,所以2和2之间是否有差异,或者2是相似的,这是一个笔误或冗长的代码要获取表单值,必须使用: $rpm_selected = $form_state->getValue('rpms'

我正在进行Drupal故障排除会话,同时查看代码,发现以下代码:

$rpms = $form_state->get(['storage', 'rpms']);
然后我发现

$rpm_selected = $form_state->getValue('rpms'); 

我没有使用Drupal的经验,所以2和2之间是否有差异,或者2是相似的,这是一个笔误或冗长的代码要获取表单值,必须使用:

$rpm_selected = $form_state->getValue('rpms'); 
存储可用于保存自定义变量以便将来恢复,例如:

// set data
$form_state->setStorage(['my_custom_var' => 'test']);

// get data.
$vals = $form_state->getStorage();

评论您的回答并引用“从您的表单中恢复值,我建议使用……等等”,这意味着我问题中的两行表示一件事,即从表单中获取字段值。这意味着我可以对其中一个进行注释,并依赖于第二个?如果将表单值保存在存储中,则可以从中恢复。如果没有,则必须从getValue函数中恢复。我要把答案改清楚,这是关于使用存储的目的,我的意思是都是$rpms=$form_state->get(['Storage',rpms');和$rpm_selected=$form_state->getValue('rpm');相同?,这意味着我只能使用一条语句,并对第二条语句进行注释,因为这两条语句都是用于数据恢复的,并且它们不包括保存数据以供以后使用。相反,它只是还原的。您无法从存储中恢复表单值$form_state->get(['Storage',rpms')。它的功能用于其他用途。查看url以了解更多信息。使用$form_state->getValue(“xxx”)。您所说的“无法恢复表单值”是什么意思​​从仓库里取的?你所说的“它的功能是用于其他事物”是什么意思?是表单值吗​​储存在不同的地方,而不是储存。关于Drupal文档的问题,我发现它是不够的,并且没有提供放置在它上面的部件的完整数据,或者没有提供在很大程度上澄清放置在那里的每个部件的用途的数据。非常感谢您抽出时间和兴趣帮助我欣赏:)