Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Commitd7bd395

Browse files
committed
Merge branch '6.3' into 6.4
* 6.3: Add property types and return types in constraints and few other places
2 parentsf6f8d5a +0ed29b2 commitd7bd395

File tree

97 files changed

+510
-349
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+510
-349
lines changed

‎cache.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ with either :class:`Symfony\\Contracts\\Cache\\CacheInterface` or
363363
// config/services.php
364364
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
365365
366-
return function(ContainerConfigurator $container) {
366+
return function(ContainerConfigurator $container): void {
367367
$container->services()
368368
// ...
369369

‎components/options_resolver.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Imagine you have a ``Mailer`` class which has four options: ``host``,
2323

2424
class Mailer
2525
{
26-
protected $options;
26+
protectedarray$options;
2727

2828
public function __construct(array $options = [])
2929
{
@@ -37,7 +37,7 @@ check which options are set::
3737
class Mailer
3838
{
3939
// ...
40-
public function sendMail($from, $to)
40+
public function sendMail($from, $to): void
4141
{
4242
$mail = ...;
4343

@@ -908,9 +908,9 @@ can change your code to do the configuration only once per class::
908908
// ...
909909
class Mailer
910910
{
911-
private static $resolversByClass = [];
911+
private staticarray$resolversByClass = [];
912912

913-
protected $options;
913+
protectedarray$options;
914914

915915
public function __construct(array $options = [])
916916
{
@@ -926,7 +926,7 @@ can change your code to do the configuration only once per class::
926926
$this->options = self::$resolversByClass[$class]->resolve($options);
927927
}
928928

929-
public function configureOptions(OptionsResolver $resolver)
929+
public function configureOptions(OptionsResolver $resolver): void
930930
{
931931
// ...
932932
}
@@ -941,9 +941,9 @@ method ``clearOptionsConfig()`` and call it periodically::
941941
// ...
942942
class Mailer
943943
{
944-
private static $resolversByClass = [];
944+
private staticarray$resolversByClass = [];
945945

946-
public static function clearOptionsConfig()
946+
public static function clearOptionsConfig(): void
947947
{
948948
self::$resolversByClass = [];
949949
}

‎components/serializer.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ exists in your project::
7373
private int $age;
7474
private string $name;
7575
private bool $sportsperson;
76-
private ?\DateTime $createdAt;
76+
private ?\DateTimeInterface $createdAt;
7777

7878
// Getters
7979
public function getAge(): int
@@ -113,7 +113,7 @@ exists in your project::
113113
$this->sportsperson = $sportsperson;
114114
}
115115

116-
public function setCreatedAt(\DateTime $createdAt = null): void
116+
public function setCreatedAt(\DateTimeInterface $createdAt = null): void
117117
{
118118
$this->createdAt = $createdAt;
119119
}
@@ -607,11 +607,11 @@ processes::
607607
class Person
608608
{
609609
public function __construct(
610-
private $firstName,
610+
privatestring$firstName,
611611
) {
612612
}
613613

614-
public function getFirstName()
614+
public function getFirstName(): string
615615
{
616616
return $this->firstName;
617617
}
@@ -663,7 +663,7 @@ defines a ``Person`` entity with a ``firstName`` property:
663663
{
664664
public function __construct(
665665
#[SerializedName('customer_name')]
666-
private $firstName,
666+
privatestring$firstName,
667667
) {
668668
}
669669

‎components/validator/resources.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ In this example, the validation metadata is retrieved executing the
3737

3838
class User
3939
{
40-
protected $name;
40+
protectedstring$name;
4141

42-
public static function loadValidatorMetadata(ClassMetadata $metadata)
42+
public static function loadValidatorMetadata(ClassMetadata $metadata): void
4343
{
4444
$metadata->addPropertyConstraint('name', new Assert\NotBlank());
4545
$metadata->addPropertyConstraint('name', new Assert\Length([
@@ -99,7 +99,7 @@ prefixed classes included in doc block comments (``/** ... */``). For example::
9999
/**
100100
* @Assert\NotBlank
101101
*/
102-
protected $name;
102+
protectedstring$name;
103103
}
104104

105105
To enable the annotation loader, call the

‎components/var_dumper.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -372,9 +372,9 @@ then its dump representation::
372372
373373
class PropertyExample
374374
{
375-
public $publicProperty = 'The `+` prefix denotes public properties,';
376-
protected $protectedProperty = '`#` protected ones and `-` private ones.';
377-
private $privateProperty = 'Hovering a property shows a reminder.';
375+
publicstring$publicProperty = 'The `+` prefix denotes public properties,';
376+
protectedstring$protectedProperty = '`#` protected ones and `-` private ones.';
377+
privatestring$privateProperty = 'Hovering a property shows a reminder.';
378378
}
379379
380380
$var = new PropertyExample();
@@ -391,7 +391,7 @@ then its dump representation::
391391
392392
class DynamicPropertyExample
393393
{
394-
public $declaredProperty = 'This property is declared in the class definition';
394+
publicstring$declaredProperty = 'This property is declared in the class definition';
395395
}
396396
397397
$var = new DynamicPropertyExample();
@@ -404,7 +404,7 @@ then its dump representation::
404404
405405
class ReferenceExample
406406
{
407-
public $info = "Circular and sibling references are displayed as `#number`.\nHovering them highlights all instances in the same dump.\n";
407+
publicstring$info = "Circular and sibling references are displayed as `#number`.\nHovering them highlights all instances in the same dump.\n";
408408
}
409409
$var = new ReferenceExample();
410410
$var->aCircularReference = $var;

‎components/var_exporter.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ following class hierarchy::
5050

5151
abstract class AbstractClass
5252
{
53-
protected $foo;
54-
private $bar;
53+
protectedint$foo;
54+
privateint$bar;
5555

56-
protected function setBar($bar)
56+
protected function setBar($bar): void
5757
{
5858
$this->bar = $bar;
5959
}

‎doctrine/resolve_target_entity.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,8 @@ An Invoice entity::
6565
#[ORM\Table(name: 'invoice')]
6666
class Invoice
6767
{
68-
/**
69-
* @var InvoiceSubjectInterface
70-
*/
7168
#[ORM\ManyToOne(targetEntity: InvoiceSubjectInterface::class)]
72-
protected $subject;
69+
protectedInvoiceSubjectInterface$subject;
7370
}
7471

7572
An InvoiceSubjectInterface::

‎event_dispatcher.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ notify Symfony that it is an event listener by using a special "tag":
9191
9292
use App\EventListener\ExceptionListener;
9393
94-
return function(ContainerConfigurator $container) {
94+
return function(ContainerConfigurator $container): void {
9595
$services = $container->services();
9696
9797
$services->set(ExceptionListener::class)

‎form/bootstrap5.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ configuration:
5757
// config/packages/twig.php
5858
use Symfony\Config\TwigConfig;
5959
60-
return static function(TwigConfig $twig) {
60+
return static function(TwigConfig $twig): void {
6161
$twig->formThemes(['bootstrap_5_layout.html.twig']);
6262
6363
// ...

‎form/form_collections.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ Let's start by creating a ``Task`` entity::
1616

1717
class Task
1818
{
19-
protected $description;
20-
protected $tags;
19+
protectedstring$description;
20+
protectedArrayCollection$tags;
2121

2222
public function __construct()
2323
{
@@ -53,7 +53,7 @@ objects::
5353

5454
class Tag
5555
{
56-
private $name;
56+
privatestring$name;
5757

5858
public function getName(): string
5959
{
@@ -466,7 +466,7 @@ you will learn about next!).
466466
// ...
467467
468468
#[ORM\ManyToMany(targetEntity: Tag::class, cascade: ['persist'])]
469-
protected $tags;
469+
protectedarray$tags;
470470
471471
..code-block::yaml
472472

‎forms.rst

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ following ``Task`` class::
4343

4444
class Task
4545
{
46-
protected $task;
47-
protected $dueDate;
46+
protected string $task;
47+
48+
protected ?\DateTimeInterface $dueDate;
4849

4950
public function getTask(): string
5051
{
@@ -56,12 +57,12 @@ following ``Task`` class::
5657
$this->task = $task;
5758
}
5859

59-
public function getDueDate(): ?\DateTime
60+
public function getDueDate(): ?\DateTimeInterface
6061
{
6162
return $this->dueDate;
6263
}
6364

64-
public function setDueDate(?\DateTime $dueDate): void
65+
public function setDueDate(?\DateTimeInterface $dueDate): void
6566
{
6667
$this->dueDate = $dueDate;
6768
}
@@ -128,7 +129,7 @@ use the ``createFormBuilder()`` helper::
128129
// creates a task object and initializes some data for this example
129130
$task = new Task();
130131
$task->setTask('Write a blog post');
131-
$task->setDueDate(new \DateTime('tomorrow'));
132+
$task->setDueDate(new \DateTimeImmutable('tomorrow'));
132133

133134
$form = $this->createFormBuilder($task)
134135
->add('task', TextType::class)
@@ -209,7 +210,7 @@ use the ``createForm()`` helper (otherwise, use the ``create()`` method of the
209210
// creates a task object and initializes some data for this example
210211
$task = new Task();
211212
$task->setTask('Write a blog post');
212-
$task->setDueDate(new \DateTime('tomorrow'));
213+
$task->setDueDate(new \DateTimeImmutable('tomorrow'));
213214

214215
$form = $this->createForm(TaskType::class, $task);
215216

@@ -471,7 +472,7 @@ to a class. You can add them either to the entity class or to the form class.
471472

472473
To see the first approach - adding constraints to the entity - in action,
473474
add the validation constraints, so that the ``task`` field cannot be empty,
474-
and the ``dueDate`` field cannot be empty, and must be a valid ``DateTime``
475+
and the ``dueDate`` field cannot be empty, and must be a valid ``DateTimeImmutable``
475476
object.
476477

477478
..configuration-block::
@@ -486,11 +487,11 @@ object.
486487
class Task
487488
{
488489
#[Assert\NotBlank]
489-
public $task;
490+
publicstring$task;
490491
491492
#[Assert\NotBlank]
492-
#[Assert\Type(\DateTime::class)]
493-
protected $dueDate;
493+
#[Assert\Type(\DateTimeInterface::class)]
494+
protected\DateTimeInterface$dueDate;
494495
}
495496
496497
..code-block::yaml
@@ -502,7 +503,7 @@ object.
502503
-NotBlank:~
503504
dueDate:
504505
-NotBlank:~
505-
-Type:\DateTime
506+
-Type:\DateTimeInterface
506507
507508
..code-block::xml
508509
@@ -519,7 +520,7 @@ object.
519520
</property>
520521
<propertyname="dueDate">
521522
<constraintname="NotBlank"/>
522-
<constraintname="Type">\DateTime</constraint>
523+
<constraintname="Type">\DateTimeInterface</constraint>
523524
</property>
524525
</class>
525526
</constraint-mapping>
@@ -544,7 +545,7 @@ object.
544545
$metadata->addPropertyConstraint('dueDate', new NotBlank());
545546
$metadata->addPropertyConstraint(
546547
'dueDate',
547-
new Type(\DateTime::class)
548+
new Type(\DateTimeInterface::class)
548549
);
549550
}
550551
}

‎frontend/custom_version_strategy.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ After creating the strategy PHP class, register it as a Symfony service.
130130
use App\Asset\VersionStrategy\GulpBusterVersionStrategy;
131131
use Symfony\Component\DependencyInjection\Definition;
132132
133-
return function(ContainerConfigurator $container) {
133+
return function(ContainerConfigurator $container): void {
134134
$services = $container->services();
135135
136136
$services->set(GulpBusterVersionStrategy::class)

‎messenger/multiple_buses.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ you can determine the message bus based on an implemented interface:
222222
use App\MessageHandler\CommandHandlerInterface;
223223
use App\MessageHandler\QueryHandlerInterface;
224224
225-
return function(ContainerConfigurator $container) {
225+
return function(ContainerConfigurator $container): void {
226226
$services = $container->services();
227227
228228
// ...

‎profiler.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ you'll need to configure the data collector explicitly:
545545
546546
use App\DataCollector\RequestCollector;
547547
548-
return function(ContainerConfigurator $container) {
548+
return function(ContainerConfigurator $container): void {
549549
$services = $container->services();
550550
551551
$services->set(RequestCollector::class)

‎reference/constraints/All.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ entry in that array:
3131
new Assert\NotBlank,
3232
new Assert\Length(min: 5),
3333
])]
34-
protected $favoriteColors = [];
34+
protectedarray$favoriteColors = [];
3535
}
3636
3737
..code-block::yaml
@@ -77,7 +77,7 @@ entry in that array:
7777
7878
class User
7979
{
80-
public static function loadValidatorMetadata(ClassMetadata $metadata)
80+
public static function loadValidatorMetadata(ClassMetadata $metadata): void
8181
{
8282
$metadata->addPropertyConstraint('favoriteColors', new Assert\All([
8383
'constraints' => [

‎reference/constraints/AtLeastOneOf.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ The following constraints ensure that:
3535
new Assert\Regex('/#/'),
3636
new Assert\Length(min: 10),
3737
])]
38-
protected $plainPassword;
38+
protectedstring$plainPassword;
3939
4040
#[Assert\AtLeastOneOf([
4141
new Assert\Count(min: 3),
4242
new Assert\All(
4343
new Assert\GreaterThanOrEqual(5)
4444
),
4545
])]
46-
protected $grades;
46+
protectedarray$grades;
4747
}
4848
4949
..code-block::yaml
@@ -113,7 +113,7 @@ The following constraints ensure that:
113113
114114
class Student
115115
{
116-
public static function loadValidatorMetadata(ClassMetadata $metadata)
116+
public static function loadValidatorMetadata(ClassMetadata $metadata): void
117117
{
118118
$metadata->addPropertyConstraint('password', new Assert\AtLeastOneOf([
119119
'constraints' => [

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp