Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dylematy początkującego, konstruktor vs parametry metody
bl4ck_b0x
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 21.11.2006

Ostrzeżenie: (0%)
-----


Witam.

Mam pewien dylemat dotyczący konstruktora i parametrów metody.
Mam klasę Auth a w niej konstruktor który za parametry przyjmuje $login, $password, $email, $connect. Rozmawiając z moderatorem tego forum (blooregard) powiedział mi, że najlepiej gdyby konstruktor był wywoływany już przy utworzeniu obiektu. Bo wtedy wiadomo o jakie zmienne chodzi np. $this->login = $login

Ale może pokażę na przykładzie:
  1. <?php
  2. class Auth
  3. {
  4. private $login;
  5. private $password;
  6. private $connect;
  7. private $email;
  8.  
  9. public function __construct($login, $password, $email, $connect)
  10. {
  11. $this->login = $login;
  12. $this->password = $password;
  13. $this->email = $email;
  14. $this->connect = $connect;
  15. }
  16.  
  17. #Rejestracja
  18. public function Register($login, $password, $email, $connect)
  19. {
  20. #kod
  21. }
  22.  
  23. #Logowanie
  24. public function Login($login, $password, $connect)
  25. {
  26. #kod
  27. }
  28.  
  29. #Przypomnienie hasła
  30. public function LostPassword($email, $connect)
  31. {
  32. #kod
  33. }
  34.  
  35. #Wylogowanie
  36. public function Logout()
  37. {
  38. #kod
  39. }
  40. }
  41.  
  42. ?>


Problem polega na tym, że wywołując konstruktor muszę mieć przekazywane jako parametry tego konstruktora, ale co jeśli dopiero chcę utworzyć obiekt i jeszcze nic nie mam a dopiero później są przekazywane jakieś wartości? Mówię tu o późniejszym wykorzystaniu metod np. Login gdzie potrzebuję $login, $password, $connect. Najpierw wypadałoby wywołać obiekt klasy, a następnie później wywoływać potrzebne metody. Klasa bez konstruktora jest dobrą klasą? Czy umieszczanie na początku każdej metody $this->login = $login; to dobre rozwiązanie w momencie gdy usunę konstruktor? Bo pisząc kod przypomina to trochę pisanie pisanie najzwyklejszych funkcji oprawionych w obiektówkę...

Dopiero zaczynam z obiektowym PHP i jeśli możecie to proszę o jak najprostsze wyjaśnianie pewnych rzeczy winksmiley.jpg
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:01