Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit fd8e882

Browse filesBrowse files
[Form] Cleanup
1 parent b48bbb8 commit fd8e882
Copy full SHA for fd8e882

File tree

Expand file treeCollapse file tree

2 files changed

+32
-33
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+32
-33
lines changed

‎src/Symfony/Component/Form/FormFactory.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Form/FormFactory.php
+14-33Lines changed: 14 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -62,48 +62,29 @@ public function createForProperty($class, $property, $data = null, array $option
6262
public function createBuilder($type = 'Symfony\Component\Form\Extension\Core\Type\FormType', $data = null, array $options = array())
6363
{
6464
$name = null;
65-
$typeName = null;
6665

6766
if ($type instanceof ResolvedFormTypeInterface) {
68-
if (method_exists($type, 'getBlockPrefix')) {
69-
// As of Symfony 3.0, the block prefix of the type is used as
70-
// default name
71-
$name = $type->getBlockPrefix();
72-
} else {
73-
// BC
74-
$typeName = $type->getName();
75-
}
67+
$typeObject = $type;
7668
} elseif ($type instanceof FormTypeInterface) {
77-
if (method_exists($type, 'getBlockPrefix')) {
78-
// As of Symfony 3.0, the block prefix of the type is used as
79-
// default name
80-
$name = $type->getBlockPrefix();
81-
} else {
82-
// BC
83-
$typeName = $type->getName();
84-
}
69+
$typeObject = $type;
8570
} elseif (is_string($type)) {
86-
$resolvedType = $this->registry->getType($type);
87-
if (method_exists($resolvedType, 'getBlockPrefix')) {
88-
// As of Symfony 3.0, the block prefix of the type is used as
89-
// default name
90-
$name = $resolvedType->getBlockPrefix();
91-
} else {
92-
// BC
93-
$typeName = $type;
94-
}
71+
$typeObject = $this->registry->getType($type);
72+
$name = $type;
9573
} else {
9674
throw new UnexpectedTypeException($type, 'string, Symfony\Component\Form\ResolvedFormTypeInterface or Symfony\Component\Form\FormTypeInterface');
9775
}
9876

99-
// BC when there is no block prefix
100-
if (null === $name) {
101-
if (false === strpos($typeName, '\\')) {
102-
// No FQCN - leave unchanged for BC
103-
$name = $typeName;
104-
} else {
77+
if (method_exists($typeObject, 'getBlockPrefix')) {
78+
// As of Symfony 3.0, the block prefix of the type is used as default name
79+
$name = $typeObject->getBlockPrefix();
80+
} else {
81+
// BC when there is no block prefix
82+
if (null === $name) {
83+
$name = $typeObject->getName();
84+
}
85+
if (false !== strpos($name, '\\')) {
10586
// FQCN
106-
$name = StringUtil::fqcnToBlockPrefix($typeName);
87+
$name = StringUtil::fqcnToBlockPrefix($name);
10788
}
10889
}
10990

‎src/Symfony/Component/Form/Tests/FormFactoryTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Form/Tests/FormFactoryTest.php
+18Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,9 @@ public function testCreateUsesBlockPrefixIfTypeGivenAsString()
341341
$this->assertSame('FORM', $this->factory->create('TYPE', null, $options));
342342
}
343343

344+
/**
345+
* @group legacy
346+
*/
344347
public function testCreateUsesTypeNameIfTypeGivenAsString()
345348
{
346349
$options = array('a' => '1', 'b' => '2');
@@ -372,6 +375,9 @@ public function testCreateUsesTypeNameIfTypeGivenAsString()
372375
$this->assertSame('FORM', $this->factory->create('TYPE', null, $options));
373376
}
374377

378+
/**
379+
* @group legacy
380+
*/
375381
public function testCreateStripsNamespaceOffTypeName()
376382
{
377383
$options = array('a' => '1', 'b' => '2');
@@ -403,6 +409,9 @@ public function testCreateStripsNamespaceOffTypeName()
403409
$this->assertSame('FORM', $this->factory->create('Vendor\Name\Space\UserForm', null, $options));
404410
}
405411

412+
/**
413+
* @group legacy
414+
*/
406415
public function testLegacyCreateStripsNamespaceOffTypeNameAccessByFQCN()
407416
{
408417
$options = array('a' => '1', 'b' => '2');
@@ -434,6 +443,9 @@ public function testLegacyCreateStripsNamespaceOffTypeNameAccessByFQCN()
434443
$this->assertSame('FORM', $this->factory->create('userform', null, $options));
435444
}
436445

446+
/**
447+
* @group legacy
448+
*/
437449
public function testCreateStripsTypeSuffixOffTypeName()
438450
{
439451
$options = array('a' => '1', 'b' => '2');
@@ -465,6 +477,9 @@ public function testCreateStripsTypeSuffixOffTypeName()
465477
$this->assertSame('FORM', $this->factory->create('Vendor\Name\Space\UserType', null, $options));
466478
}
467479

480+
/**
481+
* @group legacy
482+
*/
468483
public function testCreateDoesNotStripTypeSuffixIfResultEmpty()
469484
{
470485
$options = array('a' => '1', 'b' => '2');
@@ -496,6 +511,9 @@ public function testCreateDoesNotStripTypeSuffixIfResultEmpty()
496511
$this->assertSame('FORM', $this->factory->create('Vendor\Name\Space\Type', null, $options));
497512
}
498513

514+
/**
515+
* @group legacy
516+
*/
499517
public function testCreateConvertsTypeToUnderscoreSyntax()
500518
{
501519
$options = array('a' => '1', 'b' => '2');

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.