| Subject: | CakePHP Cache Help Needed |
|---|---|
| From: | creat1v1ty |
| Date: | Fri, 20 Apr 2012 22:00:26 -0700 PDT |
|
Does anyone have experience with Cake cache who's willing to lend me a hand? Here is my situation: In the footer of my website I am pulling in my 3 most recent blog posts from Wordpress.com (the website, not a local installation). The way I am accomplishing this is by parsing the XML feed from WP. I've created a component to do this: ======================================= App::uses('Component', 'Controller'); App::uses('Xml', 'Utility'); class WordpressComponent extends Component { public $wp_feed = 'http://blog.mydomain.com/feed/'; public $numberOfItems = 3; public function getPosts() { // Parse XML from Wordpress Blog $xml = Xml::build($this->wp_feed); $parsed_xml = Set::reverse($xml); $blog_posts = $parsed_xml['rss']['channel']['item']; // Build simplified array of post title and link $result = array(); $counter = 0; foreach ($blog_posts as $post) { $tmp = array(); $tmp['title'] = $post['title']; $tmp['link'] = $post['link']; $tmp['pubDate'] = date("F d, Y", strtotime($post['pubDate'])); array_push($result, $tmp); $counter++; if ($counter >= $this->numberOfItems) { break; } } return $result; } } ======================================= Then, since I need the posts to show up on all my pages, I've done the following in my AppController: ======================================= class AppController extends Controller { public $components = array('Session', 'Wordpress'); public function beforeFilter() { $wordpress_posts = $this->Wordpress->getPosts(); $this->set('wordpress_posts', $wordpress_posts); } } ======================================= In am then displaying the results in the footer of my layout file. The problem is that it's taking a noticeable amount of time to parse the XML and relay the posts to my layout. I'm assuming this is because it's doing the same thing on every page. What I would like to know is how I can cache the posts so that I'm not having to parse the XML for every page load. Unfortunately, however, I don't have any experience working with cache - will someone please help me come up with a solution? Thanks in advance. -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscribe@xxxxxxxxxxxxxxxx For more options, visit this group at http://groups.google.com/group/cake-php |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Does cakephp support object-relational database?, Justin Edwards |
|---|---|
| Next by Date: | Re: Does cakephp support object-relational database?, Freeness Li |
| Previous by Thread: | VirtualField not displaying, Campise |
| Next by Thread: | Re: CakePHP Cache Help Needed, stork |
| Indexes: | [Date] [Thread] [Top] [All Lists] |