Voici mon exemple de code classe utilisateur mais ne fonctionne pas quand j'ai ajouté la méthode statique avec les méthodes publiques:Est-il possible d'enchaîner statique avec la méthode non statique en PHP?
<?php
namespace App\Classic;
class User
{
public $username;
public static $upassword;
public $age;
public $message;
public function username($username)
{
$this->username = $username;
echo $this->username."<br>";
return $this;
}
public static function password($upassword)
{
self::$upassword = $upassword;
echo self::$upassword."<br>";
}
public function age($age)
{
$this->age = $age;
echo $this->age."<br>";
return $this;
}
public function message($message)
{
$this->message = $message;
echo $this->message."<br>";
return $this;
}
}
et ceci est l'effet secondaire de la méthode enchaînant:
$user = new User();
$user::password('secret')
->username('admin')
->age(40)
->message('lorem ipsum');
Ou, vous pouvez simplement cesser d'utiliser des méthodes statiques et variables. Comme ils font de votre code une nature procédurale et causent un couplage étroit avec des noms de classe spécifiques. –
La propriété statique et la méthode n'ont aucune raison d'exister. Une propriété statique est commune à toutes les instances de la classe. ** Voulez-vous utiliser le même mot de passe pour tous les utilisateurs? ** – axiac
Oh okay. Merci –