public function getImePrezime() { return parent::getIme() . '' . parent::getPrezime(); //parent zato sto nam nije funkcija u ovoj klasi nego u osobi , moze i osoba::get_Ime }
/** * Najde osoby, které mají shodné jméno, příjmení a datum narození * @param Osoba $osoba */ public function shodneOsoby(Osoba $osoba) { $return = array(); $udaje = $osoba->getUdaje(); foreach ($this->findBy(array('jmeno' => $udaje['jmeno'], 'prijmeni' => $udaje['prijmeni'], 'narozeni' => $udaje['narozeni'])) as $osoba) { $return[] = $osoba->id; } return $return; }
/** * Add or edit if exists, given osoba object. * @param Osoba $o */ public static function AddEditOsoba(Osoba $o) { $a = self::GetOsoba($o->GetId()); if ($a == null) { self::AddOsoba($o); } else { self::EditOsoba($o); } }
?> <div id="div-obrazac" class="col-xs-3"> <p><a href="/APTANA_WORKSPACE/PROJEKT_SKOLA/polaznik.php">Novi polaznik</a></p> <?php //Korištenje KLASE //$polaznik=new Osoba(); // polaznik je objekt sada, sa kljucnom rijeci new smo istancirali klasu u objekt. //$polaznik=new Osoba('Dino' ,'Budic','Petra Berislavica','123432435'); //$polaznik->setIme('Dino');//pozivanje metode,trazi parametar mi joj dajemo vrijednost moje ime. //$polaznik->oib='214326'; //direktno mijenjanje vrijednosti svojstva // $polaznik->ime='Pero'; private se ne moze direktno mijenjat nego samo sa set() // $polaznik=getPolaznik(3); //echo $polaznik->getPrezime(); //izbacivanje svojstava ime,prezime ... samo promijeni $osoba1 = new Osoba('Dino', 'Budic', 'Petra Beris', '21321432'); $osoba1->getIme(); $polaznik = new Polaznik('Dino', 'Budic', 'Petra Beris', '21321432'); //moramo dati sve paremetre iz osobe $polaznik->setGrupa('O5'); //ima sve metode polaznik i OSOBE $polaznik->getIme(); ?> <form class="form-horizontal" action="" method="post" enctype="multipart/form-data"> <div class="form-group">
{ //tato funkce musí vracet obsah, který je možné dále serializovat - řetězec, pole, serializovatelný objekt atp. //lze si vybrat, co se má serializovat a jak... return ['id' => $this->id, 'jmeno' => $this->jmeno, 'prijmeni' => $this->prijmeni]; } /** * Konstruktor třídy Osoba * @param null $id * @param $jmeno * @param $prijmeni */ public function __construct($id = null, $jmeno, $prijmeni) { $this->id = $id; $this->jmeno = $jmeno; $this->prijmeni = $prijmeni; } /** * Funkce pro přidání komentáře * @param string $str */ public function pridatKomentar($str) { $this->komentare[] = $str; } } $pepa = new Osoba(10, 'Josef', 'Novák'); $pepa->pridatKomentar('lorem ipsum...'); $pepa->pridatKomentar('lorem ipsum...'); //serializace za využití námi definované funkce echo json_encode($pepa, JSON_UNESCAPED_UNICODE);
public function addOsobaFormSubmitted(UpravitOsobuForm $form) { $potvrzeni = $this->getSession('potvrzeni'); $values = $form->getValues(); $osoba = new Osoba(); $osoba->setUdaje($values); if (isset($osoba->error)) { $form->addError($osoba->error); } else { //osoby s podobnými údaji (pokud se najdou, neukládat, pouze zobrazit) $podobne_osoby['narozeni'] = $this->osobyRepository->findByNarozeni($osoba->narozeni); $podobne_osoby['jmeno'] = $this->osobyRepository->findByJmenoPrijmeni($osoba->jmeno, $osoba->prijmeni); $this->template->podobne_osoby = $podobne_osoby; //jsou osoby se stejnými údaji? if (($podobne_osoby['narozeni']->count() > 0 || $podobne_osoby['jmeno']->count() > 0) && ($potvrzeni->narozeni != $values->narozeni || $potvrzeni->jmeno != $values->jmeno || $potvrzeni->prijmeni != $values->prijmeni)) { //vypsat do šablony a znova uložit hodnoty do session, NEUKLÁDÁ SE $potvrzeni->jmeno = $values->jmeno; $potvrzeni->prijmeni = $values->prijmeni; $potvrzeni->narozeni = $values->narozeni; } else { try { $zaznam = $this->osobyRepository->ulozitOsobu($osoba, TRUE); unset($potvrzeni->jmeno); unset($potvrzeni->prijmeni); unset($potvrzeni->narozeni); if (isset($zaznam['dotaz'])) { $potvrzeni_admina = $this->getSession('nova_osoba_admin'); $potvrzeni_admina->osoba = $osoba; $this->redirect('novaOsobaPotvrzeni'); // $this->template->rozhodnuti_admina = TRUE; // dd($this->template->rozhodnuti_admina, 'potrvzeni_admina'); } else { if (!isset($zaznam['dotaz'])) { if ($zaznam['akce'] == 'insert') { $this->logg("nová osoba {$zaznam->id} - jméno: {$zaznam->prijmeni} {$zaznam->jmeno}, narozeni: {$zaznam->narozeni}"); } elseif ($zaznam['akce'] == 'update') { $this->logg("osoba {$zaznam->id} upravena"); } if ($zaznam['novy_mail']) { $this->vygenerovatPristupoveUdaje($zaznam['id']); } $this->redirect('prehled', $zaznam->id); } } } catch (GException $e) { $form->addError($e->getMessage()); } } } }
<?php /** Jednoduchá ukázka kódu s autoloadem */ spl_autoload_register(function ($className) { //definujeme (anonymní) funkci, která se postará o načítání potřebných kódů tříd, rozhraní a traitů $filename = strtolower($className) . '.php'; //podle názvu požadované třídy určíme soubor, ve kterém by měla být if (file_exists($filename)) { //pokud soubor existuje, tak ho načteme require_once $className . '.php'; return true; } else { return false; } }); $osoba = new Osoba(); $osoba->jmeno = 'nikdo :)'; $osoba->pridatUkol('uklidit...'); var_dump($osoba);
public function show() { parent::show(); echo "Ocena: " . $this->ocena . "</br>"; }