|
|
- <?php
-
- namespace CustomHandlers\Response;
-
- /**
- * Handle Response of a Rss Feed,
- * response will parsed to SimpleXMLElement
- * each item in a channel will be run through actions
- *
- *
- */
- class Rss extends ResponseHandler
- {
- /**
- * getting data from
- *
- *
- * @return object
- *
- */
- public function getResponse()
- {
- $this->response = Http::withHeaders([
- "Content-Type" => "text/xml;charset=utf-8"
- ])->get($this->source->url);
-
- return $this->response;
- }
-
- /**
- * handle response
- *
- *
- *
- */
- public function run()
- {
- $xml = new SimpleXMLElement($this->response->body());
-
- foreach($xml->channel->item as $item) {
- foreach($this->actions as $action) {
- $actionClass = $action->action_handler_class;
- $action = new ActionClass($item);
- $action->run();
- }
- }
- }
- }
|