<?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>Thu, 23 May 2013 10:46:56 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Timothy Boronczyk's Blog: Currying in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/12851</guid>
      <link>http://www.phpdeveloper.org/news/12851</link>
      <description><![CDATA[<p>
<i>Timothy Boronczyk</i> has <a href="http://zaemis.blogspot.com/2009/06/currying-in-php.html">posted about</a> an interesting concept you could use in your applications - currying (made possible in PHP 5.3.x and above):
</p>
<blockquote>
What happens if you don't have all the arguments handy for a function, but you want to give whatever arguments you do have now and then provide the rest of them to the function later? This is called <A href="http://en.wikipedia.org/wiki/Currying">currying</a>, and is a core concept in functional programming. It's messy, but possible to curry functions in PHP now that <a href="http://zaemis.blogspot.com/2009/03/anonymous-functions-and-closures.html">closures have been added</a>.
</blockquote>
<p>
He starts with an example from OCaml/F# to illustrate the point and moves to a PHP example - changing a normal function that requires three parameters into one that makes it possible to only submit the parameters you'd want to use. He also includes a more "real life" example of how it could be used in array filtering.
</p>]]></description>
      <pubDate>Fri, 10 Jul 2009 13:33:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Upcoming PHP 5.3 features and beyond]]></title>
      <guid>http://www.phpdeveloper.org/news/12414</guid>
      <link>http://www.phpdeveloper.org/news/12414</link>
      <description><![CDATA[<p>
<a href="http://www.phpclasses.org/blog/post/94-Upcoming-PHP-53-features-and-beyond.html">This new post</a> to the PHPClasses.org blog take a look at some of the new features that will be included in the PHP 5.3 release (coming soon to a web server near you!) by way of an interview with <i>Lukas Smith</i>.
</p>
<blockquote>
his article presents an interview with core PHP developer Lukas Kahwe Smith that has pushed many of the new features of PHP 5.3 as release manager. Lukas talks about PHP 5.3 new features such as lambda functions, closures and PHAR support. He also explains what are traits, which for now it is a feature that was left out of PHP 5.3. He also talks about future PHP 5.x and PHP 6, as well how anybody can help in the development of PHP to make it come out faster. 
</blockquote>
<p>
They talk about the PHP.net wiki, briefly touch on the PHP 5.3 feature updates, performance/memory usage in the new version, Lambda functions, closures and PHAR and what's to come with PHP 6.
</p>]]></description>
      <pubDate>Tue, 28 Apr 2009 07:56:34 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: PHP 5.3beta1 Announced]]></title>
      <guid>http://www.phpdeveloper.org/news/11835</guid>
      <link>http://www.phpdeveloper.org/news/11835</link>
      <description><![CDATA[<p>
The first step towards a full, stable release of the next version of PHP - 5.3 - has <a href="http://news.php.net/php.internals/42876">officially been made</a> - the first beta (PHP 5.3beta1) has been released and is now available for download.
</p>
<blockquote>
The biggest change is dropping of OO functionality in closures as full
OO support for closures is planed for a later release than PHP 5.3.0.
See http://wiki.php.net/rfc/closures/removal-of-this. This release marks the begin of a feature freeze and bug fix only phase.
If in doubt whether your change is a bugfix please run it by Lukas and
me.
</blockquote>
<p>
You can download the packages here:
</p>
<ul>
<li><a href="http://downloads.php.net/johannes/php-5.3.0beta1.tar.bz2">tar.bz archive</a>
<li><a href="http://downloads.php.net/johannes/php-5.3.0beta1.tar.gz">tar.gz archive</a>
<li><a href="http://windows.php.net/qa/">Winodws builds</a>
</ul>]]></description>
      <pubDate>Thu, 29 Jan 2009 07:56:05 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Mark Brady's Blog: Closures in PHP 5.3]]></title>
      <guid>http://www.phpdeveloper.org/news/11123</guid>
      <link>http://www.phpdeveloper.org/news/11123</link>
      <description><![CDATA[<p>
<i>Mark Brady</i> has a <a href="http://spinningtheweb.blogspot.com/2008/09/closures-in-php-53.html">recent post</a> he's worked up that looks at a feature in the upcoming PHP 5.3 version - closures.
</p>
<blockquote>
According to object-oriented programming expert <a href="http://martinfowler.com/bliki/Closure.html">Martin Fowler</a>, closures are defined as a block of code that can be passed to a function. [...] PHP's upcoming syntax for closures is shaping up to be comparable to the C# 2.0 implementation.
</blockquote>
<p>
He includes two code examples to compare the two language's methods - one for C# and the other for PHP - that divides the input by a denominator and returns a true or false depending on the result. For more information on closures, see <a href="http://wiki.php.net/rfc/closures">this proposal</a> on the PHP.net wiki</a>.
</p>]]></description>
      <pubDate>Wed, 01 Oct 2008 08:47:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP.net: PHP 5.3 alpha 1 Released]]></title>
      <guid>http://www.phpdeveloper.org/news/10735</guid>
      <link>http://www.phpdeveloper.org/news/10735</link>
      <description><![CDATA[<p>
As <a href="http://www.php.net/index.php#id2008-08-01-1">announced on the PHP.net site</a> today, the first alpha version of the much-anticipated PHP 5.3 has been released - <a href="http://downloads.php.net/johannes/">PHP 5.3 alpha 1</a>.
</p>
<blockquote>
The PHP development team is proud to announce the <a href="http://downloads.php.net/johannes/">first alpha release</a> (Windows binaries will appear in the next few days) of the upcoming minor version update of PHP. The new version PHP 5.3 is expected to improve stability and performance as well as add new language syntax and extensions. Several new features have already been documented in the <a href="http://php.net/docs.php">official documentation</a>, others are listed on the <a href="http://wiki.php.net/doc/scratchpad/upgrade/53">wiki</a> in preparation of getting documented. Please also review the <a href="http://php.net/php5news">NEWS</a> file.
</blockquote>
<p>
Among the list of new features/improvements are things like namespaces, late static binding, lambda functions, closures, support for mysqlnd and removal of support for pre-Windows 2000 systems. For more information on when the full stable version will his the web, check out <a href="http://wiki.php.net/todo/php53">the release plan</a>.
</p>]]></description>
      <pubDate>Fri, 01 Aug 2008 07:58:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[LivePipe Blog: What PHP6 Actually Needs]]></title>
      <guid>http://www.phpdeveloper.org/news/7846</guid>
      <link>http://www.phpdeveloper.org/news/7846</link>
      <description><![CDATA[<p>
On the LivePipe blog, there's <a href="http://livepipe.net/blog/programming/what_php6_actually_needs">a whishlist</a> that <i>Ryan</i> has posted for some of the things he'd like to see in PHP6.
</p>
<p>His list consists of:</p>
<ul>
<li>Closures
<li>{ } is the new array()
<li>Parameter Collection in Functions
<li>Late Static Binding
<li>Backwards Compatibility
</ul>
<p>
Each is <a href="http://livepipe.net/blog/programming/what_php6_actually_needs">explained</a>, some with code to illustrate.
</p>]]></description>
      <pubDate>Tue, 15 May 2007 10:13:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Dikini.net: Some ways to use saved state with closures in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/4731</guid>
      <link>http://www.phpdeveloper.org/news/4731</link>
      <description><![CDATA[On dikini.net today, there's <a href="http://dikini.net/25.01.2006/some_ways_to_use_saved_state_with_closures_in_php">a new post</a> that talks about a method of implementing saved state in PHP, and how to couple it with closures.
<p>
<quote>
<i>
In a <a href="http://dikini.net/24.01.2006/emulating_closures_in_php">previous short post</a> I describe a way to emulate closures in php. Using that technique execution environment, otherwise known as a call stack can be saved for future use. This can be put to good use. A couple of patterns or programming techniques could be useful in practice.
<p>
A closure represents a state => implemenation of a state pattern. This is a bit rich. Usually in OO programming the state pattern is implemented by encapsulating different protocols, for denoted states. This is simple to implement by substituting your protocol specification with a different name.
</i>
</quote>
<p>
His <a href="http://dikini.net/25.01.2006/some_ways_to_use_saved_state_with_closures_in_php">example</a> starts off with the Drupal hooks, using the State pattern to  create a method of tracking "where we are" via PHP. ]]></description>
      <pubDate>Wed, 25 Jan 2006 12:43:20 -0600</pubDate>
    </item>
  </channel>
</rss>
