Command Pattern (PHP) ile ilgili sorular

0 Cevap php

ben bu konuda kadar okuduktan sonra PHP minimalist bir komut Desen örneğini kadar yaptım. ben bir kaç soru var ...

Ben ne yaptım doğru olup olmadığını bilmek mi olacak? ya da belki, böylece komut desen noktasını çok az azaltarak

interface ICommand {
  function execute($params);
}
class LoginCommand implements ICommand {
  function execute($params) {
    echo "Logging in : $params[user] / $params[pass] <br />";
    $user = array($params["user"], $params["pass"]);
    // faked users data
    $users = array(
      array("user1", "pass1"),
      array("user2", "pass2")
    );

    if (in_array($user, $users)) {
      return true;
    } else {
      return false;
    }
  }
}

$loginCommand = new LoginCommand();
// $tries simulate multiple user postbacks with various inputs
$tries = array(
  array("user" => "user1", "pass" => "pass1"),
  array("user" => "user2", "pass" => "pass1"),
  array("user" => "user2", "pass" => "PaSs2")
);

foreach ($tries as $params) {
  echo $loginCommand->execute($params) ? " - Login succeeded!" : " - Login FAILED!";
  echo " <br />";
}

herhangi bir fark sadece basit bir fonksiyon içine LoginCommand koyarak olup olmadığını ben merak ediyorum Users sınıfta demek?

LoginCommand bir sınıf için daha uygun olup olmadığını bu kadar ben sadece bir nesne 1 instanciate gerek vs LoginCommand::execute() arayabilirsiniz statik bir sınıf olsaydı, daha iyi olmaz mı?

0 Cevap