Difficile
Que va afficher ce code ?
<?php
class Foo
{
private ?string $bar;
public function setBar(?string $secondLine): void
{
$this->bar = $secondLine;
}
public function getBar(): ?string
{
return $this->bar;
}
}
$foo = new Foo();
echo $foo->getBar() ?? 'john doe';
Auteur: Équipe W3DStatut : PubliéeQuestion passée 951 fois
Modifier
6
Évaluations de la communauté
Paul TOTI
06/05/2024
Si $bar n'a jamais été défini, elle est null par défaut en raison de son type nullable ( ?string). L'accès à une propriété nullable non initialisée qui est lue (et non écrite ou utilisée dans un contexte nécessitant une valeur non nulle) retourne simplement null. Il n'y a pas d'erreur car PHP gère cette situation de manière interne en retournant null
Questions similairesPlus de questions sur PHP
4
Est-ce que cette signature de fonction est valide ?
```php
<?php
interface Demo
{
public function bar(): ?mixed;
}
```3
Quelle signature de fonction est valide ?3
Fonction PHP avec arguments nommés et positionnels.3
Les attributs sont des métadonnées qui peuvent être ajoutées à des classes, des propriétés, des constantes ou des méthodes.3
Est-ce que le code suivant est possible en PHP 8?
```php
$name = ‘my_argument_name’;
$value = 25;
myFunction($name: $value);
```