当前位置: 首页>>代码示例>>PHP>>正文


PHP DomCrawler\Form类代码示例

本文整理汇总了PHP中Symfony\Component\DomCrawler\Form的典型用法代码示例。如果您正苦于以下问题:PHP Form类的具体用法?PHP Form怎么用?PHP Form使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Form类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: gotoPreviousFormPage

 /**
  * Go to the previous form page
  *
  * @param \Symfony\Component\DomCrawler\Form $form
  * @return \TYPO3\Flow\Http\Response
  */
 protected function gotoPreviousFormPage(\Symfony\Component\DomCrawler\Form $form)
 {
     $previousButton = $this->browser->getCrawler()->filterXPath('//nav[@class="form-navigation"]/*/*[contains(@class, "previous")]/button');
     $previousButton->rewind();
     $form->set(new InputFormField($previousButton->current()));
     return $this->browser->submit($form);
 }
开发者ID:kitsunet,项目名称:form,代码行数:13,代码来源:AbstractFunctionalTestCase.php

示例2: testGetFormNode

 public function testGetFormNode()
 {
     $dom = new \DOMDocument();
     $dom->loadHTML('<html><form><input type="submit" /></form></html>');
     $form = new Form($dom->getElementsByTagName('input')->item(0));
     $this->assertSame($dom->getElementsByTagName('form')->item(0), $form->getFormNode(), '->getFormNode() returns the form node associated with this form');
 }
开发者ID:spf13,项目名称:symfony,代码行数:7,代码来源:FormTest.php

示例3: makeRequestUsingForm

 protected function makeRequestUsingForm(Form $form)
 {
     $files = [];
     $plainFiles = $form->getFiles();
     foreach ($plainFiles as $key => $file) {
         $files[$key] = new UploadedFile($file['tmp_name'], $file['name'], $file['type'], $file['size'], $file['error'], true);
     }
     return $this->makeRequest($form->getMethod(), $form->getUri(), $form->getValues(), [], $files);
 }
开发者ID:woolensculpture,项目名称:pulse,代码行数:9,代码来源:IntegrationTestCase.php

示例4: isValid

 public function isValid(Form $form)
 {
     if ($form->has('token')) {
         $values = $form->getValues();
         $values['token'] = 'modified by csrf scanner';
         $form->setValues($values);
         $this->client->submit($form);
         $status = $this->client->getResponse()->getStatus();
         if (403 == $status) {
             return true;
         }
         $this->message = "403 response expected, but got a {$status}";
     } else {
         $this->message = "No 'token' input field found";
     }
     return false;
 }
开发者ID:goodhacker,项目名称:marlon-csrfscanner,代码行数:17,代码来源:ModifyingTokenCauses403.php

示例5: createFromForm

 /**
  * @param Form $form
  *
  * @return ModuleList
  */
 public static function createFromForm(Form $form)
 {
     $node = new Crawler($form->getFormNode());
     // Example: <input type="checkbox" id="edit-modules-other-oxygen-enable" name="modules[Other][oxygen][enable]" value="1" class="form-checkbox" />
     $inputs = $node->filter('input[type="checkbox"][id^="edit-modules-"]');
     $modules = [];
     foreach ($inputs as $input) {
         /** @var \DOMElement $input */
         if (!$input->hasAttribute('name')) {
             continue;
         }
         $enabled = $input->hasAttribute('checked');
         $match = preg_match('{^modules\\[([^\\]]+)\\]\\[([^\\]]+)\\]\\[enable\\]$}', $input->getAttribute('name'), $matches);
         if (!$match) {
             continue;
         }
         list(, $package, $slug) = $matches;
         $modules[] = new ModuleListItem($package, $slug, $enabled);
     }
     return new self($modules);
 }
开发者ID:Briareos,项目名称:Undine,代码行数:26,代码来源:ModuleList.php

示例6: 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));
         }
     }
 }
开发者ID:penguinclub,项目名称:penguinweb_drupal8,代码行数:20,代码来源:BrowserKitDriver.php

示例7: testSubmitWithoutAFormButton

 public function testSubmitWithoutAFormButton()
 {
     $dom = new \DOMDocument();
     $dom->loadHTML('
         <html>
             <form>
                 <input type="foo" />
             </form>
         </html>
     ');
     $nodes = $dom->getElementsByTagName('form');
     $form = new Form($nodes->item(0), 'http://example.com');
     $this->assertSame($nodes->item(0), $form->getFormNode(), '->getFormNode() returns the form node associated with this form');
 }
开发者ID:TuxCoffeeCorner,项目名称:tcc,代码行数:14,代码来源:FormTest.php

示例8: getSonataAdminFormName

 public function getSonataAdminFormName(Form $form)
 {
     parse_str(parse_url($form->getUri(), PHP_URL_QUERY), $query);
     return $query['uniqid'];
 }
开发者ID:ruslan-polutsygan,项目名称:dev-bundle,代码行数:5,代码来源:SonataAdminExtensionTrait.php

示例9: 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);
 }
开发者ID:biggtfish,项目名称:forkcms,代码行数:16,代码来源:WebTestCase.php

示例10: fillFormForUpdateTest

 /**
  * Fill form for address tests (update test)
  *
  * @param Form $form
  * @return Form
  */
 protected function fillFormForUpdateTest(Form $form)
 {
     $formNode = $form->getNode();
     $formNode->setAttribute('action', $formNode->getAttribute('action') . '?_widgetContainer=dialog');
     $form['orob2b_account_typed_address[types]'] = [AddressType::TYPE_BILLING, AddressType::TYPE_SHIPPING];
     $form['orob2b_account_typed_address[defaults][default]'] = [false, AddressType::TYPE_SHIPPING];
     $doc = new \DOMDocument("1.0");
     $doc->loadHTML('<select name="orob2b_account_typed_address[country]" id="orob2b_account_typed_address_country" ' . 'tabindex="-1" class="select2-offscreen"> ' . '<option value="" selected="selected"></option> ' . '<option value="ZW">Zimbabwe</option> </select>');
     $field = new ChoiceFormField($doc->getElementsByTagName('select')->item(0));
     $form->set($field);
     $form['orob2b_account_typed_address[country]'] = 'ZW';
     $doc->loadHTML('<select name="orob2b_account_typed_address[region]" id="orob2b_account_typed_address_region" ' . 'tabindex="-1" class="select2-offscreen"> ' . '<option value="" selected="selected"></option> ' . '<option value="ZW-MA">Manicaland</option> </select>');
     $field = new ChoiceFormField($doc->getElementsByTagName('select')->item(0));
     $form->set($field);
     $form['orob2b_account_typed_address[region]'] = 'ZW-MA';
     return $form;
 }
开发者ID:adam-paterson,项目名称:orocommerce,代码行数:23,代码来源:AccountAddressControllerTest.php

示例11: submitForm

 /**
  * @param Form $form
  *
  * @return Crawler
  */
 protected function submitForm(Form $form)
 {
     $action = $form->getFormNode()->getAttribute('data-action');
     $form->getFormNode()->setAttribute('action', $action);
     return $this->client->submit($form);
 }
开发者ID:open-orchestra,项目名称:open-orchestra,代码行数:11,代码来源:AbstractFormTest.php

示例12: convertUploadsForTesting

 /**
  * Convert the given uploads to UploadedFile instances.
  *
  * @param  \Symfony\Component\DomCrawler\Form  $form
  * @param  array  $uploads
  * @return array
  */
 protected function convertUploadsForTesting(Form $form, array $uploads)
 {
     $files = $form->getFiles();
     $names = array_keys($files);
     $files = array_map(function (array $file, $name) use($uploads) {
         return isset($uploads[$name]) ? $this->getUploadedFileForTesting($file, $uploads, $name) : $file;
     }, $files, $names);
     $uploads = array_combine($names, $files);
     foreach ($uploads as $key => $file) {
         if (preg_match('/.*?(?:\\[.*?\\])+/', $key)) {
             $this->prepareArrayBasedFileInput($uploads, $key, $file);
         }
     }
     return $uploads;
 }
开发者ID:laravel,项目名称:framework,代码行数:22,代码来源:InteractsWithPages.php

示例13: 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;
 }
开发者ID:vladislavl-hyuna,项目名称:crmapp,代码行数:29,代码来源:InnerBrowser.php

示例14: 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;
 }
开发者ID:alexanderkuz,项目名称:test-yii2,代码行数:23,代码来源:InnerBrowser.php

示例15: submitForm

 /**
  * 
  * @param \Symfony\Component\DomCrawler\Form $form
  * @param string    $method     The Request Method
  */
 public function submitForm(Form $form, $method = "POST")
 {
     $this->getClient()->request($method, $form->getUri(), $form->getPhpValues());
 }
开发者ID:doyolabs,项目名称:symfony-test,代码行数:9,代码来源:WebTestCase.php


注:本文中的Symfony\Component\DomCrawler\Form类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。