oont-contents/plugins/mailpoet/lib/Entities/WpPostEntity.php
2025-02-08 15:10:23 +01:00

50 lines
1,023 B
PHP

<?php declare(strict_types = 1);
namespace MailPoet\Entities;
if (!defined('ABSPATH')) exit;
use MailPoet\RuntimeException;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(readOnly=true)
* @ORM\Table(name="posts")
*/
class WpPostEntity {
/**
* @ORM\Column(type="integer", name="ID")
* @ORM\Id
* @ORM\GeneratedValue
* @var int
*/
private $id;
/**
* @ORM\Column(type="string", name="post_title")
* @var string
*/
private $postTitle;
public function __construct() {
throw new RuntimeException('WpPostEntity is read only and cannot be instantiated.');
}
public function getId(): int {
return $this->id;
}
public function getPostTitle(): string {
return $this->postTitle;
}
/**
* We don't use typehint for now because doctrine cache generator would fail as it doesn't know the class.
* @return \WP_Post|null
*/
public function getWpPostInstance() {
$post = \WP_Post::get_instance($this->id);
return $post ?: null;
}
}