private function replacePost(PostEntity $post)
 {
     $this->init();
     $sql = "REPLACE INTO posts (\n            id, title, content, excerpt\n        ) VALUES (\n            :id, :title, :content, :excerpt\n        )";
     $sth = $this->dbh->prepare($sql);
     $sth->execute(['id' => $post->getId(), 'title' => $post->getTitle(), 'content' => $post->getContent(), 'excerpt' => $post->getExcerpt()]);
 }
 public function savePost(PostEntity $post)
 {
     if (!$post->hasId()) {
         $post = $post->withId(uniqid());
     }
     foreach ($this->posts as $idx => $existing) {
         if ($post->sameIdAs($existing)) {
             $this->posts[$idx] = $post;
             return;
         }
     }
     $this->posts[] = $post;
 }