本文整理匯總了PHP中Symfony\Component\DomCrawler\Form::all方法的典型用法代碼示例。如果您正苦於以下問題:PHP Form::all方法的具體用法?PHP Form::all怎麽用?PHP Form::all使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\DomCrawler\Form
的用法示例。
在下文中一共展示了Form::all方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testConstructorLoadsOnlyFieldsOfTheRightForm
public function testConstructorLoadsOnlyFieldsOfTheRightForm()
{
$dom = $this->createTestMultipleForm();
$nodes = $dom->getElementsByTagName('form');
$buttonElements = $dom->getElementsByTagName('button');
$form = new Form($nodes->item(0), 'http://example.com');
$this->assertCount(3, $form->all());
$form = new Form($buttonElements->item(1), 'http://example.com');
$this->assertCount(5, $form->all());
}
示例2: getFormValuesFor
/**
* Returns an array of name => value pairs for the passed form.
*
* For form fields containing a name ending in [], an array is
* created out of all field values with the given name.
*
* @param \Symfony\Component\DomCrawler\Form the form
* @return array an array of name => value pairs
*/
protected function getFormValuesFor(Form $form)
{
$values = [];
$fields = $form->all();
foreach ($fields as $field) {
if ($field->isDisabled() || !$field->hasValue() || $field instanceof FileFormField) {
continue;
}
$fieldName = $this->getSubmissionFormFieldName($field->getName());
if (substr($field->getName(), -2) === '[]') {
if (!isset($values[$fieldName])) {
$values[$fieldName] = [];
}
$values[$fieldName][] = $field->getValue();
} else {
$values[$fieldName] = $field->getValue();
}
}
return $values;
}
示例3: mergeForms
/**
* Merges second form values into first one.
*
* @param Form $to merging target
* @param Form $from merging source
*/
private function mergeForms(Form $to, Form $from)
{
foreach ($from->all() as $name => $field) {
$fieldReflection = new \ReflectionObject($field);
$nodeReflection = $fieldReflection->getProperty('node');
$valueReflection = $fieldReflection->getProperty('value');
$nodeReflection->setAccessible(true);
$valueReflection->setAccessible(true);
$isIgnoredField = $field instanceof InputFormField && in_array($nodeReflection->getValue($field)->getAttribute('type'), array('submit', 'button', 'image'), true);
if (!$isIgnoredField) {
$valueReflection->setValue($to[$name], $valueReflection->getValue($field));
}
}
}
示例4: getFormValuesFor
/**
* Returns an array of name => value pairs for the passed form.
*
* The function calls getPhpValues on the passed form object, then
* resets numeric array indexes for array field names without array
* keys specified (i.e. 'fieldname[]' but not 'fieldname[keyname]')
* as expected by setCheckboxBoolValues.
*
* @param \Symfony\Component\DomCrawler\Form the form
* @return array an array of name => value pairs
*/
protected function getFormValuesFor(Form $form)
{
$values = $form->getPhpValues();
$fields = $form->all();
foreach ($fields as $field) {
$name = $this->getSubmissionFormFieldName($field->getName());
if (!empty($values[$name]) && substr($field->getName(), -2) === '[]') {
$values[$name] = array_values($values[$name]);
}
}
return $values;
}
示例5: submitEditForm
/**
* Edits the data of a form
*
* @param Client $client
* @param Form $form
* @param array $data
*/
protected function submitEditForm(Client $client, Form $form, array $data = array())
{
$originalData = array();
foreach ($form->all() as $fieldName => $formField) {
$originalData[$fieldName] = $formField->getValue();
}
$data = array_merge($originalData, $data);
$this->submitForm($client, $form, $data);
}