Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja obliczajaca wiek
pela222
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 17.04.2013

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


Cześć,

mam taki plik:
  1. class Person
  2. {
  3. /**
  4.   * @var bool
  5.   */
  6. private $dob = '';
  7. private $age = '';
  8.  
  9. /**
  10.   * @param string $dob
  11.   */
  12. public function setDob($dob)
  13. {
  14. $this->dob = $dob;
  15. }
  16.  
  17. /**
  18.   * @return string
  19.   */
  20. public function getDob()
  21. {
  22. return $this->dob;
  23. }
  24. }


Chialem zbudować funkcje dla potrzeb oblczenia wieku osoby na podstawie daty urodznia. Kiedyś używałem czegoś na kształt poniżej ale nie potrafie tego użyć w strukturze funkcji / klas.

  1. public function setAge($age ){
  2. $now = new DateTime(); //dzisiejsza data
  3. //echo $now->format('Y-m-d');
  4. $date = new DateTime($dob); //format daty dla potrzeb obliczenia wieku osoby na podstawie dob
  5. //echo $dob1->format('Y-m-d');
  6. $this->age = $now->diff($date); //oblicz wiek...odwołąnie do wieku w formacie echo '.$age->y.'
  7. }
  8.  
  9.  
  10. public function getAge(){
  11. return $this->age;
  12. }


Dziekuje z góry za pomoc jak to zrobić.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. W komentarzu podajesz, że Person::$dob jest typu bool po czym przypisujesz domyślnie pustego stringa? PHP na takie coś pozwala, ale wyzbądź się takich paskudnych praktyk.
2. Metoda nazywa się setAge() więc raczej powinna przyjąć wiek jako liczbę, a nie datę urodzenia (setDateOfBirth()).
3. Przecież na dobrą sprawę ten kod jest po prostu do przekopiowania w klasę (pomijając dwa powyższe punkty).
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 10:31