<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sun, 19 May 2013 10:12:27 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Stubbles Blog: On annotations and logic]]></title>
      <guid>http://www.phpdeveloper.org/news/15826</guid>
      <link>http://www.phpdeveloper.org/news/15826</link>
      <description><![CDATA[<p>
On the Stubbles blog there's <a href="http://www.stubbles.org/archives/91-On-annotations-and-logic.html">a recent post</a> that talks about a feature they introduced into the framework - annotations - with high hopes it would give them more flexibility in how things worked. As <i>Frank Keline</i> says, though, "it's not such a good idea at all".
</p>
<blockquote>
The most simplest reason for this is the idea that annotations are markup. They mark (or, to keep the notion, annotate) code as being special or to be treated in some special kind of way, depending on the scenario where the code is used in. [...] From a design point of view this makes it clear why annotations should not contain logic. If annotations contain parts of such logic, it becomes splitted and possibly cluttered throughout different classes.
</blockquote>
<p>
He goes on to talk about a second reason why he doesn't think they should be considered first-class in an application - it doesn't promote code reuse. For example, if you define them on a method, there's no way to use that method without them. He puts this into the perspective of the <a href="http://stubbles.net/">Stubbles</a> framework that currently uses them and how he's changed the logic to live in special classes instead. He considers other changes like places annotations can be used and having different annotation classes.</p>]]></description>
      <pubDate>Fri, 28 Jan 2011 12:29:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stubbles Blog: Stubbles 0.5.0 released]]></title>
      <guid>http://www.phpdeveloper.org/news/9548</guid>
      <link>http://www.phpdeveloper.org/news/9548</link>
      <description><![CDATA[<p>
<i>Frank Kleine</i> has <a href="http://www.stubbles.org/archives/41-Stubbles-0.5.0-released.html">announced on the Stubbles blog</a> that the latest version of the framework, Stubbles 0.5.0 has been released.
</p>
<blockquote>
A last day of a month - time to release a new Stubbles version. The release does not feature that much new features, we focused mainly on infrastructure and code quality improvements. The most important change of course is the change of the package separator.
</blockquote>
<p>
Instead of the dots they've gone with the more standard double-colon that PHP already uses. There were also code quality improvements and a move away from SimpleTest out to the popular <a href="http://www.phpunit.de">PHPUnit</a> unit testing package.
</p>
<p>
You can download this new package from the <a href="http://www.stubbles.net/">Stubbles project site</a>.
</p>]]></description>
      <pubDate>Fri, 01 Feb 2008 13:37:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Stubbles Blog: Exception is an Inheritance Nazi]]></title>
      <guid>http://www.phpdeveloper.org/news/8403</guid>
      <link>http://www.phpdeveloper.org/news/8403</link>
      <description><![CDATA[<p>
<i>Frank Kleine</i> has <a href="http://www.stubbles.org/archives/25-Exception-is-an-Inheritance-Nazi.html">voiced his disapproval</a> with what he calls the "Inheritance Nazi" exception handling PHP has natively.
</p>
<blockquote>
The built-in Exception class in PHP is total crap. It is an inheritance nazi preventing you from doing useful stuff in your own exception classes. Whoever made its get*() methods final and the trace property private did not thought any second about how exceptions may be used or that people need to implement their own stack trace handling.
</blockquote>
<p>
The reason for <a href="http://www.stubbles.org/archives/25-Exception-is-an-Inheritance-Nazi.html">the rant</a> is due to a project he's currently working at where he cannot overload the stack trace of an exception instance then throw the exception. This forces him to create his own exception handling, pointless when the PHP one should be able to handle what he wants.
</p>
<p>
Suggestions/thoughts in <a href="http://www.stubbles.org/archives/25-Exception-is-an-Inheritance-Nazi.html#comments">the comments</a> sympathize with him and suggest an alternate exception method - an interface that would allow for more customization.
</p>
<p>
For more information on the exception handling PHP has, check out <a href="http://us.php.net/manual/en/ref.errorfunc.php">the manual page</a> for it.
</p>]]></description>
      <pubDate>Tue, 07 Aug 2007 09:21:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stubbles Blog: Stubbles 0.2.0 released]]></title>
      <guid>http://www.phpdeveloper.org/news/8179</guid>
      <link>http://www.phpdeveloper.org/news/8179</link>
      <description><![CDATA[<p>
The Stubbles group has <a href="http://www.stubbles.org/archives/21-Stubbles-0.2.0-released.html">released the latest version</a> of their PHP framework - version 0.2.0 of Stubbles:
</p>
<blockquote>
The Stubbles team is proud to announce the release of Stubbles 0.2.0. This release is another alpha version and contains the basic MVC structure as well as support for <a href="http://stubbles.net/wiki/Docs/JsonRpc">JSON-RPC</a>, utility packages for working with datespans, URLs and a cache package. Additionally the build system has been enhanced and a lot of bugs have been fixed. For a complete list of changes see the <a href="http://stubbles.net/wiki/Changelog">changelog</a>. The release can be downloaded from our <a href="http://stubbles.net/wiki/Downloads">downloads page</a>. 
</blockquote>
<p>
Other enhancements in <a href="http://stubbles.net/wiki/Downloads">this new version</a> include updates to the build system, the inclusion of more examples, changes to several packages including the JSON-RPC, Util and XML functionality.
</p>]]></description>
      <pubDate>Wed, 04 Jul 2007 10:32:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stubbles Blog: Stubbles 0.1.0 released]]></title>
      <guid>http://www.phpdeveloper.org/news/7735</guid>
      <link>http://www.phpdeveloper.org/news/7735</link>
      <description><![CDATA[<p>
The Stubbles framework team has <a href="http://www.stubbles.org/archives/17-Stubbles-0.1.0-released.html">released the latest version</a> of their framework today - Stubbles 0.1.0:
</p>
<blockquote>
The Stubbles team is proud to announce the release of Stubbles 0.1.0. This release is a first alpha version and contains the basic features of Stubbles like the <a href="http://stubbles.net/wiki/Docs/Reflection">Extended Reflection API</a>, XML handling with <a href="http://stubbles.net/wiki/Docs/XMLStreamWriter">XMLStreamWriter</a> and <a href="http://stubbles.net/wiki/Docs/XMLSerializer">XMLSerializer</a>, <a href="http://stubbles.net/wiki/Docs/Logging">Logging</a>, <a href="http://stubbles.net/wiki/Docs/EventHandling">Event handling</a>, <a href="http://stubbles.net/wiki/Docs/Validators">support for filtering and validating user input</a> and <a href="http://stubbles.net/wiki/Docs/Session">session handling</a>. The release additionally contains parts of packages that we announced to be in the next milestone 0.2.0. 
</blockquote>
<p>
The <a href="http://stubbles.net/">Stubbles framework</a> is one that seeks to "combine your favorite features from other programming languages and frameworks" and is flexible enough to allow for easy interfacing with other frameworks/components like <a href="http://pear.php.net">PEAR</a> or the <a href="http://framework.zend.com">Zend Framework</a>.
</p>]]></description>
      <pubDate>Mon, 30 Apr 2007 13:07:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Terry Chay's Blog: serialization without pity]]></title>
      <guid>http://www.phpdeveloper.org/news/7473</guid>
      <link>http://www.phpdeveloper.org/news/7473</link>
      <description><![CDATA[<p>
In response to <a href="http://www.phpdeveloper.org/news/7453">a post from the Stubbles blog</a>, <i>Terry Chay</i> has <a href="http://terrychay.com/blog/article/object-serialization-without-pity.shtml">posted some of his thoughts</a> about the serialization solution presented in the other post.
</p>
<blockquote>
Frank Kleine writes a PHP 5 framework called <a href="http://stubbles.net/">Stubbles</a>. I have <a href="http://terrychay.com/blog/article/why-frameworks-fail.shtml">a long-standing view about frameworks</a> that hasn't changed one bit. But instead of arguing about the Sysaphean task Frank is engaging in, I'll show what my approach is to one small component (while being a bit jealous that he can actually develop in PHP 5).
</blockquote>
<p>
<i>Frank</i>'s solution involves storing the objects in the session, serializing them first. The issue comes up when the class(es) the object needs aren't included into the page. <i>Terry</i> offers a different sort of solution - one also using __autoload, but using it combined with unserialize_callback_func.
</p>
<p>
<i>Terry</i> compares this with <i>Frank</i>'s approach and notes that his method "closes off" the system from the very PHP functions that could make his life simpler (making a separate handling system). He also <a href="http://terrychay.com/blog/article/object-serialization-without-pity.shtml">includes</a> a method for doing the same when all you know is the class file's name (non-PEAR format). 
</p>]]></description>
      <pubDate>Wed, 21 Mar 2007 12:02:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP-Tools Blog: Stubbles Blog is live!]]></title>
      <guid>http://www.phpdeveloper.org/news/7296</guid>
      <link>http://www.phpdeveloper.org/news/7296</link>
      <description><![CDATA[<p>
On the PHP-Tools blog, there's <a href="http://blog.php-tools.net/archives/158-Stubbles-Blog-is-live!.html">a note</a. about the launch of an official website for a new PHP5.2-based PHP framework, <a href="http://www.stubbles.org">Stubbles</a>.
</p>
<blockquote>
Stubbles is a new framework for PHP 5.2 which focuses on clean OO design, the use of patterns and ports some features from the langauges commonly referred to "enterprise languages" to PHP. If you are looking for new ways to develop your PHP applications, you should definitely take a look at the <a href="http://blog.php-tools.net/exit.php?url_id=1127&entry_id=158">stubReflection package</a>, which brings Java Annotations to PHP. The next issue of the German <a href="http://phpmagazin.de/">PHP Magazin</a> will feature an article, that shows how to use this package.
</blockquote>
<p>
The blog has been set up to give the community a window into the framework abd will include things like tutorials, thoughts on the framework and its direction, and maybe a little general PHP talk to balance things out. Check out the framework and the blog <a href="http://www.stubbles.org">at stubbles.org</a>.
</p>]]></description>
      <pubDate>Mon, 19 Feb 2007 07:04:37 -0600</pubDate>
    </item>
  </channel>
</rss>
