public function run() { $maxId = null; $result = array(); $limit = $this->getLimit(); while (true) { $page = $this->client->get($this->buildUrl(), $this->buildQuery($maxId)); if (!$page->statuses || count($result) >= $limit) { break; } foreach ($page->statuses as $row) { $entity = new Entity(); $entity->setBody($row->text); $entity->setSubject($row->text); $entity->setCreatedAt($row->created_at); $entity->setUserName($row->user->screen_name); $entity->setProfileImageUrl($row->user->profile_image_url_https); $entity->setUrl('https://twitter.com/' . urlencode($row->user->screen_name) . '/statuses/' . urlencode($row->id)); $result[] = $entity; $maxId = intval($row->id_str) - 1; } } return $result; }