Overview

Namespaces

  • Copro
    • Adapters
  • Donut
    • Adapters
    • AtomFeed
    • Facebook
    • Instagram
    • PostFeed
    • RssFeed
    • Twitter

Classes

  • Copro\Adapters\DibiMysqlAdapter
  • Donut\Adapters\DibiMysqlAdapter
  • Donut\Adapters\DibiSqliteAdapter
  • Donut\Adapters\MemoryAdapter
  • Donut\AtomFeed\AtomFeedItem
  • Donut\AtomFeed\ConvertItemToFacebookPost
  • Donut\AtomFeed\ConvertItemToInstagramPost
  • Donut\AtomFeed\ConvertItemToTweet
  • Donut\AtomFeed\FetchNewItems
  • Donut\DefaultCurrentTimeFactory
  • Donut\Facebook\FacebookApi
  • Donut\Facebook\FacebookPost
  • Donut\Facebook\PublishFacebookPost
  • Donut\Helpers
  • Donut\Instagram\InstagramApi
  • Donut\Instagram\InstagramPost
  • Donut\Instagram\PublishInstagramPost
  • Donut\Manager
  • Donut\Message
  • Donut\Period
  • Donut\PostFeed\ConvertItemToFacebookPost
  • Donut\PostFeed\ConvertItemToInstagramPost
  • Donut\PostFeed\ConvertItemToTweet
  • Donut\PostFeed\FetchNewItems
  • Donut\PostFeed\PostFeedItem
  • Donut\Processor
  • Donut\ProducerInfo
  • Donut\Queue
  • Donut\RssFeed\ConvertItemToFacebookPost
  • Donut\RssFeed\ConvertItemToInstagramPost
  • Donut\RssFeed\ConvertItemToTweet
  • Donut\RssFeed\FetchNewItems
  • Donut\RssFeed\RssFeedItem
  • Donut\Time
  • Donut\Twitter\PublishTweet
  • Donut\Twitter\Tweet
  • Donut\Twitter\TwitterApi

Interfaces

  • Donut\IAdapter
  • Donut\ICurrentTimeFactory
  • Donut\IProducer
  • Donut\IWorker

Exceptions

  • Donut\Exception
  • Donut\InvalidArgumentException
  • Donut\InvalidStateException
  • Overview
  • Namespace
  • Class
  1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:  15:  16:  17:  18:  19:  20:  21:  22:  23:  24:  25:  26:  27:  28:  29:  30:  31:  32:  33:  34:  35:  36:  37:  38:  39:  40:  41:  42:  43:  44:  45:  46:  47:  48:  49:  50:  51:  52:  53:  54:  55:  56:  57:  58:  59:  60:  61:  62:  63:  64:  65:  66:  67:  68:  69:  70:  71:  72:  73:  74:  75:  76:  77:  78:  79:  80:  81:  82:  83:  84:  85:  86:  87:  88:  89:  90:  91:  92:  93:  94:  95:  96:  97:  98:  99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 
<?php

    namespace Donut\PostFeed;

    use Donut\Message;


    class PostFeedItem
    {
        /** @var string|int */
        private $id;

        /** @var string */
        private $title;

        /** @var string */
        private $date;

        /** @var string|NULL */
        private $text;

        /** @var string|NULL */
        private $url;

        /** @var string|NULL */
        private $image;

        /** @var array|NULL */
        private $meta;


        /**
         * @param  string|int
         * @param  string
         * @param  string
         * @param  string|NULL
         * @param  string|NULL
         * @param  string|NULL
         * @param  array|NULL
         */
        public function __construct($id, $title, $date, $text, $url, $image, array $meta = NULL)
        {
            $this->id = $id;
            $this->title = $title;
            $this->date = $date;
            $this->text = $text;
            $this->url = $url;
            $this->image = $image;
            $this->meta = $meta;
        }


        /**
         * @return string|int
         */
        public function getId()
        {
            return $this->id;
        }


        /**
         * @return string
         */
        public function getTitle()
        {
            return $this->title;
        }


        /**
         * @return string
         */
        public function getDate()
        {
            return $this->date;
        }


        /**
         * @return string|NULL
         */
        public function getText()
        {
            return $this->text;
        }


        /**
         * @return string|NULL
         */
        public function getUrl()
        {
            return $this->url;
        }


        /**
         * @return string|NULL
         */
        public function getImage()
        {
            return $this->image;
        }


        /**
         * @return array|NULL
         */
        public function getMeta()
        {
            return $this->meta;
        }


        /**
         * @return array
         */
        public function toArray()
        {
            return array(
                'id' => $this->getId(),
                'title' => $this->getTitle(),
                'date' => $this->getDate(),
                'text' => $this->getText(),
                'url' => $this->getUrl(),
                'image' => $this->getImage(),
                'meta' => $this->getMeta(),
            );
        }


        /**
         * @param  array
         * @return self
         * @throws \RuntimeException
         */
        public static function fromArray(array $data)
        {
            if (!isset($data['id'], $data['title'], $data['date'])) {
                throw new \RuntimeException("Missing required property");
            }

            return new static(
                $data['id'],
                $data['title'],
                $data['date'],
                self::getData($data, 'text'),
                self::getData($data, 'url'),
                self::getData($data, 'image'),
                self::getData($data, 'meta')
            );
        }


        private static function getData($data, $field)
        {
            return isset($data[$field]) ? $data[$field] : NULL;
        }
    }
donut-org/donut master API documentation API documentation generated by ApiGen