<?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>Tue, 18 Jun 2013 18:07:14 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Andrew Podner: Using Final to Prevent Overrides and Extension]]></title>
      <guid>http://www.phpdeveloper.org/news/18802</guid>
      <link>http://www.phpdeveloper.org/news/18802</link>
      <description><![CDATA[<p>
In the latest post to his site <i>Andrew Podner</i> takes a quick look at something you don't see too much in PHP applications but is a familiar concept to some coming in to the language from others - <a href="http://unassumingphp.com/using-final-to-prevent-overrides-and-extension/">using "final" to prevent overrides</a> of the code in your classes.
</p>
<blockquote>
In a <a href="http://unassumingphp.com/classes-extended-version/">previous post about inheritance</a>, I showed you how to extend a class.   One aspect of extending classes that wasn't fully covered was the idea of overriding a method in a class. You can override a method (function) from the base class by simply redefining the method in the child class. [...] There are times though, when you do not want a method to ever be overridden.  There may even be cases where you do not want a class to be extended.
</blockquote>
<p>
His example shows how to use this "final" keyword on a database class, protecting a method (getRecord) that could potentially break the application if changed. This would then give the developer trying to extend the class an error noting that that method cannot be overridden. One thing to note, if you're going to use "final" in your code, be sure you know what you're doing. More often than not, you probably just want something like "private" or "protected" (see <a href="http://stackoverflow.com/questions/4248021/when-to-use-final-in-php">this post</a> for a bit more explanation).
</p>]]></description>
      <pubDate>Mon, 26 Nov 2012 10:36:05 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney's Blog: On Visibility in OOP]]></title>
      <guid>http://www.phpdeveloper.org/news/18156</guid>
      <link>http://www.phpdeveloper.org/news/18156</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinney</i> has a new post to his blog today looking at <a href="http://mwop.net/blog/2012-06-28-oop-visibility.html">visibility in OOP in PHP</a> - less about the features the language offers and more about the theory of their use.
</p>
<blockquote>
I'm a big proponent of object oriented programming. OOP done right helps ease code maintenance and enables code re-use. Starting in PHP, OOP enthusiasts got a whole bunch of new tools, and new tools keep coming into the language for us with each minor release. One feature that has had a huge impact on frameworks and libraries has been available since the earliest PHP 5 versions: visibility.
</blockquote>
<p>
He covers a bit of the syntax and features of public, private and protected and mentions a keyword not often seen in PHP applications - <a href="http://us2.php.net/manual/en/language.oop5.final.php">final</a>. The reason all of this came up was work on annotation support in Zend Framework 2 and some difficulty in integrating it with Doctrine support. The "final" status of the class was part of the problem, and after a a lot of copy & pasting he decided on a different tactic - using its public API to try to work around the problem.
</p>
<blockquote>
In sum: because the class in question was marked final and had private members, I found myself forced to think critically about what I wanted to accomplish, and then thoroughly understand the public API to see how I might accomplish that task without the ability to extend.
</blockquote>]]></description>
      <pubDate>Fri, 29 Jun 2012 09:52:03 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Final jsDay/phpDay Schedules Posted!]]></title>
      <guid>http://www.phpdeveloper.org/news/17804</guid>
      <link>http://www.phpdeveloper.org/news/17804</link>
      <description><![CDATA[<p>
The <a href="http://2012.jsday.it">jsDay</a> and <a href="http://2012.phpday.it">phpDay</a> conferences have just posted their final schedules and from the looks of them, they're both going to be great events!
</p>
<p>Sessions from <a href="http://2012.jsday.it/schedule/">jsDay</a> include:</p>
<ul>
<li>Backbone.js FTW! (Pierre Spring)
<li>JavaScript Application Architecture (Brandon Keepers)
<li>Ember.js - Focus on your app not on boilerplate code (Garret Alfert)
<li>Getting Started with Nodejitsu (Nuno Job)
<li>Go to hell Flash! We have Open Web! (Michal Budzynski)
</ul>
<p>Sessions from <a href="http://2012.phpday.it/schedule/">phpDay</a> include:</p>
<ul>
<li>Test Driven Development with Symfony 2 (Jacopo Romei)
<li>Scalable architectures: Taming the Twitter Firehose (Lorenzo Alberton)
<li>Get'em in shape: let customers appreciate the agile workflow (Stefano Maraspin)
<li>An introduction to Phing the PHP build system (Jeremy Coates)
</ul>
<p>
For more information about these events and to get your tickets, see the sites for each conference: <a href="http://2012.phpday.it">phpDay</a>, <a href="http://2012.jsday.it">jsDay</a>.
</p>]]></description>
      <pubDate>Wed, 11 Apr 2012 11:24:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Symfony2: The Roadmap to Final]]></title>
      <guid>http://www.phpdeveloper.org/news/16625</guid>
      <link>http://www.phpdeveloper.org/news/16625</link>
      <description><![CDATA[<p>
On the Symfony blog <i>Fabien Potencier</i> has posted about the <a href="http://symfony.com/blog/symfony2-the-roadmap-to-final">roadmap to a final release</a> for the Symfony2 version of the popular framework including some of the things that will and will not change after the release.
</p>
<blockquote>
We are now ready to release Symfony 2.0 final. As we have made some significant changes in the last couple of weeks, we are publishing another release candidate (RC5) today and we will wait for a week before releasing Symfony 2.0 final on Thursday 28th.
</blockquote>
<p>
The upgrade to Symfony2 is just a few commands away and there's a large list of components that are set and will not be changed moving forward including the DependencyInjection, Finder, Locale, Routing and Validator. 
</p>
<blockquote>
Symfony 2.1 will be the first release with all the components with a public stable API. And for components that already have a public API in 2.0, 2.1 will be the occasion to add even more classes and methods to it.
</blockquote>]]></description>
      <pubDate>Mon, 25 Jul 2011 09:09:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Last Day for php|tek 2009 Call for Papers]]></title>
      <guid>http://www.phpdeveloper.org/news/11574</guid>
      <link>http://www.phpdeveloper.org/news/11574</link>
      <description><![CDATA[<p>
As a reminder, today is the last day to get in talk proposals for next year's <a href="http://tek.mtacon.com">php|tek conference</a>:
</p>
<blockquote>
Today is the last day of the <a href="http://tek.mtacon.com/c/s/call-for-papers">Call for Papers</a> for our upcoming <a href="http://tek.mtacon.com/">php|tek 2009 conference</a>, which will take place in Chicago between May 19 and 22nd. Don't forget to send in your proposals before it's too late!
</blockquote>
<p>
You can get more information about submitting a talk from <a href="http://tek.mtacon.com/c/s/call-for-papers">this page</a> on the conference website as well as where to send the proposals and what kind of <a href="http://tek.mtacon.com/c/s/speaker-benefits">speaker compensation package</a> they have to offer.
</p>]]></description>
      <pubDate>Mon, 15 Dec 2008 15:56:34 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP.net: PHP 4.4.9 Released!]]></title>
      <guid>http://www.phpdeveloper.org/news/10788</guid>
      <link>http://www.phpdeveloper.org/news/10788</link>
      <description><![CDATA[<p>
The PHP group has <a href="http://www.php.net/index.php#id2008-08-07-1">officially announced</a> the availability of the final release of the PHP4 series for the language - PHP 4.4.9.
</p>
<blockquote>
The PHP development team would like to announce the immediate availability of PHP 4.4.9. It continues to improve the security and the stability of the 4.4 branch and all users are strongly encouraged to upgrade to it as soon as possible. This release wraps up all the outstanding patches for the PHP 4.4 series, and is therefore the last PHP 4.4 release.
</blockquote>
<p>
Issues corrected by this release include an upgrade to the PCRE version, a crash bug in imageloadfont and the open_basedir handling in the curl extension. You can download this latest release from <a href="http://www.php.net/downloads.php">downloads page</a> on the PHP.net website.
</p>]]></description>
      <pubDate>Fri, 08 Aug 2008 07:58:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Last Day for php|works/PyWorks 2008 Call for Papers]]></title>
      <guid>http://www.phpdeveloper.org/news/10688</guid>
      <link>http://www.phpdeveloper.org/news/10688</link>
      <description><![CDATA[<p>
As a reminder to all of those wanting to submit papers to this year's <a href="http://phpworks.mtacon.com/">php|works/PyWorks</a> combo conference, today is your <a href="http://phpworks.mtacon.com/c/p/phpworks,cfp">last day</a>!
</p>
<blockquote>
As with all our conferences, our main goal is to provide our attendees - mostly a highly technical crowd who is looking for specific, to-the-point information on relevant developer topics - with content that is as relevant as possible to their daily lives. [...] If you have a cool idea about a product or platform that somehow relates to PHP, we definitely want to hear from you!
</blockquote>
<p>
Check out <a href="http://phpworks.mtacon.com/c/p/phpworks,cfp">this page</a> for some of the guidelines (and suggestions) about submitting your proposal. The Call for Papers will close at the end of the day, July 25th, 2008 and all talks must be submitted via email to <a href="mailto:proposals@phparch.com">proposals@phparch.com</a> for consideration.
</p>]]></description>
      <pubDate>Fri, 25 Jul 2008 12:02:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ibuildings Blog: T minus one (the PHP4 8-8-08 Deadline)]]></title>
      <guid>http://www.phpdeveloper.org/news/10566</guid>
      <link>http://www.phpdeveloper.org/news/10566</link>
      <description><![CDATA[<p>
As <I>Ivo Jansch</i> <a href="http://www.ibuildings.com/blog/archives/1081-T-minus-one.html">pointed out</a> yesterday it's a month until the fateful day that PHP4 will officially die:
</p>
<blockquote>
It's July the 8th. Today I realized that we're exactly one month away from 8-8-8, the final blow to PHP4. 
</blockquote>
<p>
August 8th marks the point when nothing (at all) will be done to any version of PHP4 again. Full support ended back in December of 2007 with no new versions being released. 8-8-08 marks the end of that as well and PHP4 developers that discover bugs may not be able to get them fixed.
</p>
<p>
<i>Ivo</i> sums it it perfectly:
</p>
<blockquote>
I'm not trying to scare you. No wait, I am. Don't let 8-8-8 become the PHP community's 6-6-6 and abandon PHP4 while you still can.
</blockquote>]]></description>
      <pubDate>Wed, 09 Jul 2008 08:46:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: More on Private Methods with PHP 5 Member Visibility ]]></title>
      <guid>http://www.phpdeveloper.org/news/10486</guid>
      <link>http://www.phpdeveloper.org/news/10486</link>
      <description><![CDATA[<p>
DevShed finishes off their series looking a private, public and protected variables and methods in classes with <a href="http://www.devshed.com/c/a/PHP/More-on-Private-Methods-with-PHP-5-Member-Visibility/">this final look</a> a private methods in PHP5 object-oriented programming.
</p>
<blockquote>
It's time to leap forward and tackle this final article of the series, which will be focused on covering some additional aspects concerning the use of this kind of class method. In addition, I'll teach you how to utilize the "final" keyword, which is included with PHP 5, to prevent the methods of a specific class from being overridden by any subclass.
</blockquote>
<p>
They work from a <a href="http://www.devshed.com/c/a/PHP/More-on-Private-Methods-with-PHP-5-Member-Visibility/1/">hands-on example</a> to show how they can work with private methods (expanding a bit from last time) and how to use the "final" keyword to restrict any and all modification for a method.
</p>]]></description>
      <pubDate>Wed, 25 Jun 2008 13:58:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Dutch PHP Conference Speakers Finalized]]></title>
      <guid>http://www.phpdeveloper.org/news/10079</guid>
      <link>http://www.phpdeveloper.org/news/10079</link>
      <description><![CDATA[<p>
As <i>Ivo Jansch</i> <a href="http://www.ibuildings.com/blog/archives/931-DPC2008-schedule-now-complete.html">mentions</a>, the speaker list for this year's Dutch PHP conference has been finalized:
</p>
<blockquote>
Based on feedback from the 'call for ideas' we have added a session on security. It will be presented by Johann-Peter Hartmann, the CTO of <a href="http://www.mayflower.de/">Mayflower</a>. Also, we are happy to announce that <a href="http://terrychay.com/blog/">Terry Chay</a>, a well-known blogger in the PHP community and informally called the 'PHP terrorist', will deliver the closing keynote.
</blockquote>
<p>
You can check out the rest of the presentations (5 tutorials and 12 sessions) on <a href="http://www.phpconference.nl/schedule/">the conference's schedule page</a> and, if you haven't already yet, you can still <a href="http://www.phpconference.nl/register">register</a> to reserve your spot to enjoy this great event (talks only, tutorials are sold out).
</p>]]></description>
      <pubDate>Wed, 30 Apr 2008 12:01:51 -0500</pubDate>
    </item>
  </channel>
</rss>
