Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

php provera punoletstva konstuktor klase, metod, boolean

  • 6 odgovora
  • 10.246 pregleda

Najnovija ↓

php provera punoletstva konstuktor klase, metod, boolean 30.05.2017. u 13:13 · pre 114 meseci #1
imam zadatak:

Napraviti klasu User koja ima sledeća svojstva: id, first_name, last_name, age. Klasa mora posedovati:

Konstruktor klase
Metodu koja vraća ime i prezime korisnika
Metodu koja vraća boolean vrednost u skladu sa tim da li je korisnik punoletan ili nije


Nakon kreiranja klase potrebno je kreirati i objekat koji predstavlja instancu kreirane klase. Nad objektom pozvati obe metode i prikazati rezultat izvršavanja na strani.

Zadatak sam resio, ali bez konstruktora klase, metode i boolean-a.
Da li bi neko mogao da mi pomogne oko koda?
Unapred hvala, pozdrav!
Re: php provera punoletstva konstuktor klase, metod, boolean 31.05.2017. u 12:02 · pre 114 meseci #3
Citat:
alessandroistriano:Zadatak sam resio, ali bez konstruktora klase, metode i boolean-a.


Gde je zapelo sa konstruktorom?

Sto se tice metode za proveru godina:

Code:

public function punoletan() {
  return $this->age >= 18 ? true : false;
}

Re: php provera punoletstva konstuktor klase, metod, boolean 31.05.2017. u 12:58 · pre 114 meseci
izmenjeno 1 put, poslednji put Nemanja Avramović 05.06.2017. u 00:41
  1. Nemanja Avramović05.06.2017. u 00:41zapis iz teksta poruke
#4
Code:
class User {     
  private $id;     
  private $first_name;     
  private $last_name;     
  private $age;     

  public function __construct($id, $first_name, $last_name, $age) {
         $this->id = $id;
         $this->first_name = $first_name;
         $this->last_name = $last_name;
         $this->age = $age;     
  }
     
  public function fullName() {
         return $this->first_name . " " . $this->last_name;     
  }     

  public function isNotMinor() {
         return $this->age > 18;     
  } 
}


hm, interpreter javlja gresku

i takodje, kako da dodam onaj deo, unesite vasum datum rodjenja, onda on odabere iz padajuceg menija, pa da se klikne na dugme i da sistem javlja, punoleti ste ili niste pounoletni?
Re: php provera punoletstva konstuktor klase, metod, boolean 31.05.2017. u 13:28 · pre 114 meseci #5
Citat:
alessandroistriano: class User { private $id; private $first_name; private $last_name; private $age; public function __construct($id, $first_name, $last_name, $age) { $this->id = $id; $this->first_name = $first_name; $this->last_name = $last_name; $this->age = $age; } public function fullName() { return $this->first_name . " " . $this->last_name; } public function isNotMinor() { return $this->age > 18; } }

hm, interpreter javlja gresku


Pa i ja bih, da sam interpreter, javio gresku. Ovo uopste nije citljivo. Napisi kod kako treba pa ga okaci jer ovo ne moze da se cita.
Re: php provera punoletstva konstuktor klase, metod, boolean 05.06.2017. u 00:48 · pre 114 meseci
izmenjeno 1 put, poslednji put Nemanja Avramović 05.06.2017. u 01:02
  1. Nemanja Avramović05.06.2017. u 01:02zapis iz teksta poruke
#6
@alessandroistriano: Sredio sam ti kod malo.

Citat:
i takodje, kako da dodam onaj deo, unesite vasum datum rodjenja, onda on odabere iz padajuceg menija, pa da se klikne na dugme i da sistem javlja, punoleti ste ili niste pounoletni?


Taj deo uopšte ne treba da radi klasa nego deo koda koji obrađuje form (i koristi ovu klasu), ovako nekako (pišem napamet, nisam testirao):

Code:

<form action="?" method="POST">
<input type="number" name="id" placeholder="ID" />
<input type="text" name="ime" placeholder="Ime" />
<input type="text" name="prezime" placeholder="Prezime" />
<input type="number" name="starost" placeholder="Starost" />
<button>OK</button>
</form>
<?php

if (!empty($_POST)) {
  $osoba = new User($_POST['id'], $_POST['ime'], $_POST['prezime'], (int)$_POST['starost']);
  if ($osoba->isNotMinor()) {
    echo "Osoba " . $osoba->fullName() . " je punoletna";
  } else {
    echo "Osoba " . $osoba->fullName() . " je maloletna";
  }
}


?>


Btw, metoda isNotMinor() bi trebalo da proverava >= 18

p.s. Ako već hoćeš da korisnik unese datum rođenja a ne starost (u godinama), onda i klasa treba da prihvata (i čuva) datum rođenja korisnika (kao DateTime objekat recimo) i onda na osnovu toga da računa starost, odnosno da li je osoba punoletna ili ne. To je svakako bolje rešenje jer će provera raditi u svakom trenutku, dok sa ovakvim kodom kakav je sad, starost moraš stalno da ažuriraš.
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme