[RESOLU] Ecriture php avec des points d'interrogation

Avatar du membre
ADC
Petit nouveau ! | 3 Messages

25 févr. 2021, 18:53

Bonjour,
On m'as fournis un code PHP officiel et fonctionnel (API monetico Banque CIC ) cependant lorsque je le met sur mon serveur mutualisé OVH PHP 7 il me ressort une erreur de syntaxe.

public function getCivility(): ?string
{
return $this->civility;
}

/**
* @param string|null $civility
*/
public function setCivility(?string $civility): void
{
$this->civility = $civility;
}

Le ? permet de faire des tests , Ok mais la je ne comprends pas...
Comment convertir ce genre d’écriture pour que ce soit accepté par PHP?
Merci pour l'entraide.

PS j'ai cherché partout sur le net, rien trouvé!
Celui qui dit tout savoir et tout comprendre, ne sais rien et ne comprend rien...
Celui qui pense être idiot parce qu'il ne sais pas, peut se rassurer. Il a juste à apprendre...

Avatar du membre
ADC
Petit nouveau ! | 3 Messages

26 févr. 2021, 17:02

En cherchant, j'ai simplifié le code en :
public function getCivility()
{
if( gettype($value) =="string"){ return $this->civility;}else{ return false; }
}

/**
* @param string|null $civility
*/
public function setCivility($civility)
{
if( gettype($value) =="string"){ $this->civility = $civility;}else{ return false; }
}

des suggestions?
Celui qui dit tout savoir et tout comprendre, ne sais rien et ne comprend rien...
Celui qui pense être idiot parce qu'il ne sais pas, peut se rassurer. Il a juste à apprendre...

Avatar du membre
ADC
Petit nouveau ! | 3 Messages

26 févr. 2021, 17:35

J'aurai pu aussi utiliser is_string($value) au lieu de gettype($value) =="string"
Celui qui dit tout savoir et tout comprendre, ne sais rien et ne comprend rien...
Celui qui pense être idiot parce qu'il ne sais pas, peut se rassurer. Il a juste à apprendre...

Avatar du membre
Mammouth du PHP | 1609 Messages

26 févr. 2021, 18:28

Salut, il s'agit en fait du type nullable. ?string veut dire que la valeur peut être soit null soit de type string, tout autre type provoquant une erreur.
Développeur web depuis + de 20 ans