Afin qu'il soit facilement maintenable je ferais quelque chose comme ce qui suit:
public function isValid()
{
$properties = array(
'email',
'confirm_password1',
'handle',
'phone',
);
foreach ($properties as $property) {
if ($this->containsSpace($property)) {
return false;
}
}
return true;
}
private function containsSpace($property)
{
return !(strpos($this->$property, '') === false);
}
Notez le === false
as check for strpos()
. Démonstration: http://codepad.viper-7.com/0ZgNZq.
Notez que cela ne vérifie que les espaces et pas les autres espaces possibles. Si vous voulez vérifier les autres caractères blancs Je suggère d'utiliser un simple regex:
private function containsSpace($property)
{
return (bool)preg_match('/\s/', $this->$property);
}
Et enfin, si vous voulez vraiment le faire à votre façon originale que je ferais quelque chose comme:
public function isValid()
{
return strpos($this->email, " ") === false && strpos($this->confirm_password1, " ") === false && strpos($this->handle, " ") === false && strpos($this->phone, " ") === false;
}
Cette ce serait un bon moment pour étudier les tests unitaires et phpunit. – Marvo
Le manuel indique clairement, dans une grande boîte rouge: "Utilisez l'opérateur === pour tester la valeur de retour de cette fonction" – GarethL
Ai-je manqué quelque chose ici. Qu'est-ce que OP a à faire avec les tests unitaires? @marvo – PeeHaa