CINXE.COM

SimplePie: Weblog

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head> <title>SimplePie: Weblog</title> <!-- META HTTP-EQUIV --> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta http-equiv="content-language" content="en-us" /> <meta http-equiv="imagetoolbar" content="false" /> <!-- META NAME --> <meta name="MSSmartTagsPreventParsing" content="true" /> <meta name="ROBOTS" content="ALL" /> <meta name="copyright" content="2004-2020 Ryan Parman, Geoffrey Sneddon" /> <meta name="description" content="A super-fast, easy-to-use, RSS and Atom parser written in PHP." /> <meta name="author" content="SimplePie.org" /> <meta name="rating" content="General" /> <meta name="revisit-after" content="2 Days" /> <meta name="doc-class" content="Living Document" /> <meta name="y_key" content="8a13570546b4e5cd" /> <!-- FAVICON --> <link rel="shortcut icon" type="image/ico" href="/favicon.ico" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="generator" content="WordPress 5.6-alpha-48783" /> <!-- leave this for stats please --> <!-- STYLES --> <link rel="stylesheet" href="/css/simplepie.css" media="screen, projector" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://feeds.feedburner.com/simplepie" /> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://simplepie.org/blog/xmlrpc.php?rsd"> <link rel="pingback" href="http://simplepie.org/blog/xmlrpc.php" /> <link rel='dns-prefetch' href='//s0.wp.com' /> <link rel='dns-prefetch' href='//s.gravatar.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/simplepie.org\/blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.6-alpha-48783"}}; !function(e,a,t){var r,n,o,i,p=a.createElement("canvas"),s=p.getContext&&p.getContext("2d");function c(e,t){var a=String.fromCharCode;s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,e),0,0);var r=p.toDataURL();return s.clearRect(0,0,p.width,p.height),s.fillText(a.apply(this,t),0,0),r===p.toDataURL()}function l(e){if(!s||!s.fillText)return!1;switch(s.textBaseline="top",s.font="600 32px Arial",e){case"flag":return!c([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])&&(!c([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!c([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]));case"emoji":return!c([55357,56424,8205,55356,57212],[55357,56424,8203,55356,57212])}return!1}function d(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(i=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},o=0;o<i.length;o++)t.supports[i[o]]=l(i[o]),t.supports.everything=t.supports.everything&&t.supports[i[o]],"flag"!==i[o]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[i[o]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(r=t.source||{}).concatemoji?d(r.concatemoji):r.wpemoji&&r.twemoji&&(d(r.twemoji),d(r.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='http://simplepie.org/blog/wp-includes/css/dist/block-library/style.min.css?ver=5.6-alpha-48783' type='text/css' media='all' /> <link rel='stylesheet' id='jetpack-widgets-css' href='http://simplepie.org/blog/wp-content/plugins/jetpack/modules/widgets/widgets.css?ver=20121003' type='text/css' media='all' /> <script type='text/javascript' src='http://simplepie.org/blog/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp' id='jquery-js'></script> <link rel="https://api.w.org/" href="http://simplepie.org/blog/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://simplepie.org/blog/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://simplepie.org/blog/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 5.6-alpha-48783" /> <link rel='shortlink' href='http://wp.me/2dmpt' /> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="blog" /> <meta property="og:title" content="SimplePie: Weblog" /> <meta property="og:description" content="Behind the scenes of SimplePie development." /> <meta property="og:url" content="http://simplepie.org/blog/" /> <meta property="og:site_name" content="SimplePie: Weblog" /> <!-- SCRIPTS --> <script type="text/javascript" src="/mint/?js"></script> <script type="text/javascript" src="/scripts/sleight.js"></script> <script type="text/javascript" src="http://www.google-analytics.com/urchin.js"></script> </head> <body id="bodyblog"> <!-- end header --> <div class="announcement"><a href="https://github.com/simplepie/simplepie/releases/tag/1.5">SimplePie 1.5 is now available!</a></div> <div id="header"> <div id="headerInner"> <div id="logoContainer"> <div id="logoContainerInner"> <div id="logo"><a href="/"><img src="/images/logo_simplepie_horizontal.png" alt="SimplePie: PHP-based RSS and Atom feed handling" title="SimplePie: PHP-based RSS and Atom feed handling" border="0" /></a></div> <div id="feed"><form action="http://www.google.com/search" method="get"><input type="text" name="q" id="q" value="" class="text" /><input type="hidden" name="as_sitesearch" value="simplepie.org" />&nbsp;<input type="submit" value="Search" class="button" /></form></div> <div class="clearLeft"></div> </div> </div> <div id="menu"> <table cellpadding="0" cellspacing="0" border="0"><tbody><tr><td> <ul><li id="overview"><a href="/">Overview</a></li><li id="demo"><a href="/demo/">Demo</a></li><li id="blog"><a href="/blog/">Blog</a></li><li id="downloads"><a href="/downloads/">Download</a></li><li id="docs"><a href="/wiki/">Documentation</a></li><li id="api"><a href="/api/">API Docs</a></li><li id="support"><a href="/support/">Support</a></li><li id="bugs"><a href="http://github.com/simplepie/simplepie/issues">Issue Tracker</a></li><li id="faq"><a href="/wiki/faq/start">FAQ</a></li></ul> <div class="clearLeft"></div> </td></tr></tbody></table> </div> </div> </div> <div id="site"> <div id="content"> <div class="chunk"> <h2 class="image"><img src="/images/copy_weblog.gif" alt="SimplePie Developer Weblog. Not that we really have anything to say, but if you'll listen, why not?" title="SimplePie Developer Weblog. Not that we really have anything to say, but if you'll listen, why not?" /></h2> </div> <div class="chunk" id="post-186"> <h4 class="storytitle"><a href="http://simplepie.org/blog/2012/10/30/simplepie-1-3-1-is-now-available/" rel="bookmark">SimplePie 1.3.1 is now available!</a>&nbsp;<span class="footnote">30 Oct 2012&nbsp;</span></h4> <div class="storycontent"> <div class="blogimage"><img src="/images/128/simplepie.png" alt="SimplePie" /></div> <p>SimplePie 1.3.1 is <a href="/downloads/">now available</a>! This is a bugfix release, which fixes a few bugs including <a href="https://github.com/simplepie/simplepie/issues/214">a URI-parsing bug</a> and an <a href="https://github.com/simplepie/simplepie/issues/241">issue if DOMDocument doesn&#8217;t exist</a>. In addition, the various methods deprecated in 1.3 now fail with an <code>E_DEPRECATED</code> error rather than simply having the methods not exist. For a full list of what has been changed in this version, see <a href="https://github.com/simplepie/simplepie/compare/1.3...1.3.1">the commits since 1.3</a>, and <a href="https://github.com/simplepie/simplepie/issues?milestone=9&amp;state=closed">the issues closed in 1.3.1</a>. This is a recommended upgrade for all users.</p> <p><a href="http://simplepie.org/downloads/">Grab it now to upgrade!</a></p> </div> <p class="footnote">Posted by Ryan McCue at 10:10 am. <span>Comments Off<span class="screen-reader-text"> on SimplePie 1.3.1 is now available!</span></span></p> </div> <div class="chunk" id="post-174"> <h4 class="storytitle"><a href="http://simplepie.org/blog/2012/07/07/one-dot-three/" rel="bookmark">SimplePie 1.3 &#8220;Boysenberry&#8221; is now available!</a>&nbsp;<span class="footnote">7 Jul 2012&nbsp;</span></h4> <div class="storycontent"> <div class="blogimage"><img src="/images/128/simplepie.png" alt="SimplePie" /></div> <p>SimplePie 1.3 is <a href="/downloads/">now available</a>! This release is our first to be PHP 5-only, and this brings with it a strengthened code base. A huge number of bugs have been fixed, along with plenty of new features. SimplePie 1.3 is almost completely backwards compatible with 1.2, so you have no excuse not to use it!</p> <p>One of the biggest changes with this release is the dropping of legacy support for PHP 4. SimplePie 1.3 requires at least PHP 5.2.0 to run, and we recommend 5.3+ (as some versions of 5.2 are known to be buggy).</p> <h2>API Changes</h2> <p>With a new version comes some changes to the API, with features being added and legacy items being removed.</p> <p>One of the most important changes is that the <code>SimplePie</code> constructor no longer supports arguments. In the past, we&#8217;ve run in to a lot of issues with this feature, so we&#8217;ve decided to remove it. This may cause some breakages in your code, so watch out for this.</p> <p>When using multifeeds with SimplePie, the <code>SimplePie::error()</code> method now returns an array (indexed by the number URL which failed). This should make working with invalid feeds easier.</p> <p>If you&#8217;re using a custom caching system, it&#8217;s now much easier to use. Rather than overriding <code>SimplePie_Cache</code>, you can now <a href="http://simplepie.org/api/class-SimplePie_Cache.html#_register">register your handler</a> and use the cache location option to pass options in. We&#8217;ve also bundled a Memcache-based cache handler with SimplePie (thanks to Matt Robenolt) to make it even easier to get SimplePie up and running.</p> <p>This is just a summary of the changes we&#8217;ve made to SimplePie. To look at a full list of changes, head on over to <a href="http://simplepie.org/wiki/misc/release_notes/simplepie_1.3">the wiki</a> or for the full change list, check out <a href="https://github.com/simplepie/simplepie/compare/1.2...1.3">GitHub&#8217;s comparison view</a>.</p> <h2>Rearchitecture of the Codebase</h2> <p>For anyone who has worked with the SimplePie codebase in the past, you&#8217;ll know it was a huge pain due to the entire project being in one file. With 1.3, we&#8217;ve split SimplePie up into one-class-per-file, enabling easy autoloading of the classes you need without needing to load them all. This means easier developing for us, and faster loading for you. A huge thanks must go to Drak from the <a href="http://zikula.org/">Zikula project</a> for the work on this.</p> <p>If you&#8217;re one of the people who loved the monolithic file, don&#8217;t worry! We&#8217;ve baked a special compiled release which includes all the classes you need in a single file. If the compiled release is too big for you to handle, we&#8217;ve also baked a minified release which strips all the comments.</p> <h2>API Documentation Changes</h2> <p>We&#8217;ve always prided ourselves on providing stellar documentation, and 1.3 is no different. Previously, an API reference was provided on the wiki, however this had occasionally fallen out of date, or not actually matched the code. With 1.3, we&#8217;re now generating this documentation directly from the PHPDoc comments in the code.</p> <p><a href="http://simplepie.org/api/">Head on over to the API documentation</a> right now to see it! You can also use PHP-style URLs, so <code>http://simplepie.org/api/SimplePie_Item</code> will redirect you to the correct page.</p> <h2>Looking Forward</h2> <p>SimplePie 1.4 will focus on slimming down by removing legacy support for several features.</p> <p>In SimplePie 1.2, due to PHP 4 support class properties were declared with the <code>var</code> keyword, and access was restricted via the <code>@access</code> keyword. With 1.3 came the move to PHP 5 and strict properties, however for backwards compatibility, these properties were left as <code>var</code>. From 1.4 onwards, properties and methods with an <code>@access private</code> tag will have their visibility changed to <code>protected</code>. If you&#8217;re using any of these internal APIs, be aware that they will cease to be available. Proper methods are available for all pieces of data that you need to access, and we encourage you to move to those instead.</p> <p>1.4 will also involve the splitting off of the HTTP handling. SimplePie will bundle <a href="http://requests.ryanmccue.info/">Requests</a>, however will have a clearly defined interface to implement your own HTTP handler.</p> <p>We&#8217;ll also be attempting to increase our test coverage, with the aim to get up to at least 80% of the code covered by a test by 1.4.</p> <p>With the release of 1.3 also begins our new release schedule. A new major version of SimplePie is planned to be released every 6 months, with 1.4 to be released in January 2013. This is a schedule we&#8217;ll be trying extremely hard to stick to, and we&#8217;d love to get your help in doing so. Pull requests on GitHub will always be welcomed with open arms, as are bug reports and feature requests.</p> <hr /> <p>Finally, I&#8217;d just like to personally thank all of you for using SimplePie. It&#8217;s a pleasure working on the project knowing that so many of you out there are using it. By far my favourite moment was when I accidentally pushed a piece of broken code up to GitHub, only to be alerted to it by a new issue on GitHub within minutes. You all make it worth every minute of my time.</p> <p>So, thanks to everyone, and I&#8217;ll see you all here for a new release in 6 months!</p> </div> <p class="footnote">Posted by Ryan McCue at 3:57 am. <a href="http://simplepie.org/blog/2012/07/07/one-dot-three/#respond">Comments (0)</a></p> </div> <div class="chunk" id="post-169"> <h4 class="storytitle"><a href="http://simplepie.org/blog/2012/01/16/development-tools-now-available/" rel="bookmark">Development Tools Now Available</a>&nbsp;<span class="footnote">16 Jan 2012&nbsp;</span></h4> <div class="storycontent"> <p>For anyone who is using the latest development version of SimplePie (known as 1.3-dev), you might have noticed that the readme mentions SimplePie.compiled.php in the same vein as our previous simplepie.inc. However, in the past, you had to check out the entire repository just to build this.</p> <p>I&#8217;m happy to announce that a pre-built version is now available at <a href="http://dev.simplepie.org/SimplePie.compiled.php">dev.simplepie.org</a>. This version is rebuilt within 5 minutes of pushing to GitHub, so it will always be up-to-date with our current development version.</p> <p>In addition, API documentation built from our PHPDoc comments is now available on <a href="http://dev.simplepie.org/api/">dev.simplepie.org</a>. This documentation is designed to give you a bit more of an insight into the SimplePie API, than the wiki. Don&#8217;t worry though, our wiki isn&#8217;t going anywhere any time soon!</p> <p>If you encounter any problems, as usual, let us know via the <a href="https://github.com/simplepie/simplepie/issues">issue tracker</a>.</p> </div> <p class="footnote">Posted by Ryan McCue at 5:01 am. <a href="http://simplepie.org/blog/2012/01/16/development-tools-now-available/#respond">Comments (0)</a></p> </div> <div style="border-bottom:1px solid #999; background-color:#efe;"> <table cellspacing="0" cellpadding="0" border="0" width="100%"> <tr> <td><p><a href="http://simplepie.org/blog/page/2/" >Older Posts &raquo;</a></p></td> </tr> </table> </div> <div id="footer"> <p class="highlight" style="background-color:#ffc; border-bottom:1px solid #ccc;"><strong>Show some love!</strong> Wishlists for <a href="http://www.amazon.co.uk/gp/registry/wishlist/2ASV4RHBSM16H/026-9090951-0551667">Geoffrey</a>, <a href="http://www.amazon.com/gp/registry/wishlist/KAFYR57E8R81/">Ryan P.</a>, and <a href="http://www.amazon.com/gp/registry/wishlist/2P9RS76SG0UHL/">Ryan M.</a></p> <p class="footnote">SimplePie is &copy; 2004&ndash;2020 <a href="http://ryanparman.com">Ryan Parman</a>, <a href="http://gsnedders.com/">Geoffrey Sneddon</a>, <a href="http://ryanmccue.info/">Ryan McCue</a> and contributors. Licensed under the <a href="http://www.opensource.org/licenses/bsd-license.php">BSD License</a>. Hosted thanks to <a href="http://ma.tt/">Matt Mullenweg</a>, powered by <a href="http://wordpress.org">WordPress 5.6-alpha-48783</a> and <a href="http://php.net">PHP 5.6.40</a>, and managed with <a href="http://basecamphq.com/?referrer=skyzyx">Basecamp</a>. Syndication handled by <a href="http://simplepie.org" title="SimplePie 1.5">SimplePie</a>. Variation on the Feed Icon by <a href="http://www.bartelme.at/journal/archive/feed_icon_template">Wolfgang Bartelme</a>.</p> <div class="spacer"></div> </div> <script type="text/javascript">_uacct = "UA-1004552-1";urchinTracker();</script> </div> </div> <div style="display:none"> </div> <script type='text/javascript' src='http://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=202033' id='devicepx-js'></script> <script type='text/javascript' src='http://s.gravatar.com/js/gprofiles.js?ver=2020Augaa' id='grofiles-cards-js'></script> <script type='text/javascript' id='wpgroho-js-extra'> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script type='text/javascript' src='http://simplepie.org/blog/wp-content/plugins/jetpack/modules/wpgroho.js?ver=5.6-alpha-48783' id='wpgroho-js'></script> <script type='text/javascript' src='http://simplepie.org/blog/wp-includes/js/wp-embed.min.js?ver=5.6-alpha-48783' id='wp-embed-js'></script> <script src="http://stats.wordpress.com/e-202033.js" type="text/javascript"></script> <script type="text/javascript"> st_go({v:'ext',j:'1:2.2.7',blog:'32737083',post:'0',tz:'-8'}); var load_cmc = function(){linktracker_init(32737083,0,2);}; if ( typeof addLoadEvent != 'undefined' ) addLoadEvent(load_cmc); else load_cmc(); </script></body> </html> <!-- Dynamic page generated in 0.710 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2020-08-12 02:57:11 --> <!-- super cache -->

Pages: 1 2 3 4 5 6 7 8 9 10