Beispiel #1
0
 public function add(Boek $boek)
 {
     $boekenstore = new JsonBoekenStore();
     $boeken = $boekenstore->retreive();
     if (is_numeric($boek->getId()) && array_key_exists($boek->getId(), $boeken)) {
         $boeken[$boek->getId()] = $boek;
     } else {
         $nieuweIndex = 0;
         if (count($boeken)) {
             $nieuweIndex = max(array_keys($boeken)) + 1;
         }
         $boek->setId($nieuweIndex);
         $boeken[$nieuweIndex] = $boek;
     }
     $boekenstore->store($boeken);
 }
Beispiel #2
0
 /**
  * @return Boek[]
  * @throws Exception
  */
 public function retreive()
 {
     if (Storage::exists($this->database)) {
         $objectedBoeken = json_decode(Storage::get($this->database));
         if ($objectedBoeken || is_array($objectedBoeken)) {
             $boeken = [];
             foreach ($objectedBoeken as $boekObject) {
                 $boek = new Boek();
                 $boek->setId($boekObject->id)->setIsbn($boekObject->isbn)->setTitel($boekObject->titel)->setGewicht((int) $boekObject->gewicht)->setIntroductie($boekObject->introductie);
                 $boeken[$boek->getId()] = $boek;
             }
             return $boeken;
         } else {
             throw new Exception('Database error: wrong file format');
         }
     }
     return [];
 }