<?php
namespace Maris\CmsBundle\Helper;
use Maris\CmsBundle\Entity\Post;
class PostMetaHelper
{
/**
* @param Post $post
* @return array
*/
public static function parsePost(Post $post): array
{
$postMetas = [];
$metaObjects = $post->getPostMetas();
foreach ($metaObjects as $meta) {
try {
if(!$decoded = unserialize($meta->getContent())) {
throw new \Exception('cannot deserialize');
}
} catch (\Exception $e) {
$decoded = $meta->getContent();
}
$postMetas[$meta->getField()->getName()] = $decoded;
}
return $postMetas;
}
}