<?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, 24 May 2012 06:17:08 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PC World: How Etsy.com Grows in a Unique Fashion]]></title>
      <guid>http://www.phpdeveloper.org/news/17767</guid>
      <link>http://www.phpdeveloper.org/news/17767</link>
      <description><![CDATA[<p>
Over on the PC World site, there's a new article posted about <a href="http://www.pcworld.com/businesscenter/article/252961/how_etsycom_grows_in_a_unique_fashion.html">Etsy and its development practices</a> and how it "grows in a unique fashion" because of them.
</p>
<blockquote>
The Etsy staffers are also completely serious about their work, and these two features they share in common with their customer base, who are tying to earn side money, if not pay the rent, by designing the hand bags, walking sticks and hand-made chocolates that have made Etsy famous in the artisan and sustainable business scene. [...] The quality model for Etsy is cutting edge, but not unique. New developers are expected to push code to production on day one. That's not commit code, but push it to production.
</blockquote>
<p>
The article gets into some of the technology they use there at Etsy (including NodeJS, Nagios and, of course, PHP), the atmosphere they try to maintain, how they do their code deployment and how they conform to various regulations, security and privacy concerns.
</p>]]></description>
      <pubDate>Tue, 03 Apr 2012 09:08:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ed Finkler's Blog: The MicroPHP Manifesto]]></title>
      <guid>http://www.phpdeveloper.org/news/17341</guid>
      <link>http://www.phpdeveloper.org/news/17341</link>
      <description><![CDATA[<p>
<i>Ed Finkler</i> has put together what he calls the <a href="http://funkatron.com/posts/the-microphp-manifesto.html">MicroPHP Manifesto</a>, a call to arms for the PHP community to get "back to the basics" and focus more on things like good well-crafted code rather than extending out into "complex, verbose solutions."
</p>
<blockquote>
The approach I've been taking lately is to start with as lightweight a foundation as possible, in the form of a "microframework." [...] For additional functionality, I pull in lightweight libraries that help me accomplish only the tasks I need. Clarity and brevity are my top considerations. My other big consideration is the commitment I make when I use code I didn't write. 
</blockquote>
<p>
He goes on to talk about difficulties finding lightweight libraries to suit his needs and gives some <a href="http://cloc.sourceforge.net/">cloc<a> benchmarks for the Symfony <a href="https://github.com/symfony/HttpKernel">HttpKernel</a> and the <a href="http://slimframework.com">Slim</a> and Epiphany  microframeworks. The end of the post is the most important part - the manifesto itself...one he hopes will ring true with the development community. It includes things like:
</p>
<ul>
<li>"I am a PHP developer. I am not a Zend Framework or Symfony or CakePHP developer."
<li>"I like building small things with simple purposes."
<li>"I need to justify every piece of code I add to a project."
<li>"I want to write code that's easily understood."
</ul>
<p>
For more <a href="http://funkatron.com/posts/the-microphp-manifesto.html">read the full post</a> over on his blog.
</p>]]></description>
      <pubDate>Tue, 03 Jan 2012 10:46:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Nikita Popov's Blog: Don't be STUPID: GRASP SOLID!]]></title>
      <guid>http://www.phpdeveloper.org/news/17314</guid>
      <link>http://www.phpdeveloper.org/news/17314</link>
      <description><![CDATA[<p>
<i>Nikita Popov</i> talks about the <a href="http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod">SOLID</a> coding practices and creates his own acronym for the complete opposite - <a href="http://nikic.github.com/2011/12/27/Dont-be-STUPID-GRASP-SOLID.html">STUPID</a> (Singleon, Tight coupling, Untestable, Premature optimization, Indescriptive naming, Duplication).
</p>
<blockquote>
Ever heard of SOLID code? Probably: It is a term describing a collection of design principles for "good code" that was coined by Robert C. Martin (aka "uncle bob"), our beloved evangelist of clean code. [...] So, why not approach the problem from the other side for once? Looking at what makes up bad code.
</blockquote>
<p>
He goes through each part of his STUPID acronym and talks about how it can hurt your code and a few alternatives to help make your application more flexible and easier to maintain in the long run. He also mentions <a href="http://en.wikipedia.org/wiki/GRASP_%28object-oriented_design%29">GRASP</a> (General Responsibility Assignment Software Principles), another set of good practices to follow, some similar to SOLID, that can make your app better.
</p>]]></description>
      <pubDate>Wed, 28 Dec 2011 09:26:14 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Writing Better PHP: Three Guides]]></title>
      <guid>http://www.phpdeveloper.org/news/17258</guid>
      <link>http://www.phpdeveloper.org/news/17258</link>
      <description><![CDATA[<p>
On DZone.com today <i>John Esposito</i> has <a href="http://css.dzone.com/articles/writing-better-php-three">posted about three guides</a> that want to help you improve your PHP development skills (including a forum post and two articles).
</p>
<blockquote>
Sometimes, then, improving your generic 'programming brain' will help you improve your facility with a particular language. At other times, it's more important to learn the nuances of a language, paying close attention to the kind of applications the language is used for. [...] For improving your PHP, then, you can do two things: become a better programmer; and understand PHP more finely, more deeply.
</blockquote>
<p>
<a href="http://designreviver.com/articles/10-tips-for-writing-better-php-code/">The</a> <a href="http://www.articledashboard.com/Article/How-To-Write-Better-PHP-Code-These-7-Ways/1365288">three</a> <a href="http://www.codingforums.com/showthread.php?t=220807">guides</a> share a lot of the same concepts in common - naming conventions, separation of functionality, DRY (don't repeat yourself), testing code, etc. 
</p>]]></description>
      <pubDate>Wed, 14 Dec 2011 11:15:32 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Pingdom.com: Exploring the software behind Facebook, the world's largest site]]></title>
      <guid>http://www.phpdeveloper.org/news/14682</guid>
      <link>http://www.phpdeveloper.org/news/14682</link>
      <description><![CDATA[<p>
On pingdom.com there's a recent article posted looking at some of the <a href="http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/">technology behind Facebook</a> and how they manage to keep up with the huge demand put on them and their servers.
</p>
<blockquote>
At the scale that <a href="http://facebook.com/">Facebook</a> operates, a lot of traditional approaches to serving web content break down or simply aren't practical. The challenge for Facebook's engineers has been to keep the site up and running smoothly in spite of handling close to half a billion active users. This article takes a look at some of the software and techniques they use to accomplish that.
</blockquote>
<p>
They have to be able to handle over 570 billion page views a month across over 30,000 servers so there's several key technologies than they use to help make this a reality. Besides the famous <a href="http://wiki.github.com/facebook/hiphop-php/">HipHop for PHP</a> tool, they also use things like <a href="http://memcached.org/">memcached</a>, <a href="http://cassandra.apache.org/">Cassandra</a>, <a href="http://hadoop.apache.org/">Hadoop</a> and <a href="http://varnish-cache.org/">Varnish</a>. There's also other non-tech specific practices they do to keep things flowing smoothly.
</p>]]></description>
      <pubDate>Tue, 22 Jun 2010 09:17:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Samuel Folkes' Blog: 17 PHP Practices That Should Be Banished Forever]]></title>
      <guid>http://www.phpdeveloper.org/news/13001</guid>
      <link>http://www.phpdeveloper.org/news/13001</link>
      <description><![CDATA[<p>
<i>Samuel Folkes</i> has <a href="http://www.samuelfolkes.com/2009/08/17-php-practices-that-should-be-banished-forever/">posted a few practices</a> (seventeen, to be exact) that PHP developers should "banish forever" from their development habits.
</p>
<blockquote>
The following is a list of 17 PHP programming practices that in my opinion should be banished into oblivion. Forever and ever. Amen. Please note that this list is in no particular order.
</blockquote>
<p>Some of the practices include:</p>
<ul>
<li>Relying on Magic Quotes
<li>Mixing HTML, PHP, SQL, JS, CSS, Etc, Etc
<li>Not Documenting Code
<li>Using Regex Functions for Basic String Manipulation.
<li>Unquoted Array Keys
<li>Using Uninitialized Variables
</ul>
<p>
There's lots more where those came from so check out the <a href="http://www.samuelfolkes.com/2009/08/17-php-practices-that-should-be-banished-forever/">rest of the list here</a>.
</p>]]></description>
      <pubDate>Wed, 05 Aug 2009 13:37:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Mike Bernat's Blog: My PHP Best Practices]]></title>
      <guid>http://www.phpdeveloper.org/news/11169</guid>
      <link>http://www.phpdeveloper.org/news/11169</link>
      <description><![CDATA[<p>
<i>Mike Bernat</i> has come up with a list of (eight things) <a href="http://www.mikebernat.com/blog/My_PHP_Best_Practices">his best practices</a> when it comes to PHP development:
</p>
<blockquote>
I suggest a more retro-active approach [than trial and error]. Studying, surrounding, and forcing yourself to abide by best-practice coding standards will yield surprising results in your applications despite the fact that it may seem like more work than it's worth.
</blockquote>
<p>
Topics included in his list are things like:
</p>
<ul>
<li>Always develop with error reporting set at E_ALL and E_STRICT
<li>Portability, Portability, Portability!
<li>Don't over-think!
<li>Validate & Sanitize your Inputs!
</ul>
<p>
Check out the rest of <a href="http://www.mikebernat.com/blog/My_PHP_Best_Practices">the post</a> for more suggestions and explainations.
</p>]]></description>
      <pubDate>Wed, 08 Oct 2008 11:17:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPWomen.org: BarCampMelbourne2008 Rundown]]></title>
      <guid>http://www.phpdeveloper.org/news/9752</guid>
      <link>http://www.phpdeveloper.org/news/9752</link>
      <description><![CDATA[<p>
<i>Kathy Ried</i> has <a href="http://www.phpwomen.org/wordpress/2008/02/23/barcampmelbourne-2008-rundown/">posted about</a> some of her experience (including being a speaker) at this year's <a href="http://barcampmelbourne.org/">BarCampMelbourne 2008</a>:
</p>
<blockquote>
<a href="http://barcampmelbourne.org/">BarCampMelbourne2008</a> was, simply put, AWESOME! BarCampMelbourne2008 was held at <a href="http://www.thoughtworks.com/">Thoughtworks</a> [<a href="http://en.wikipedia.org/wiki/Thoughtworks">wikipedia</a>] at 155 Queen Street, Melbourne on 23 Feb 08, and had approximately 60 in attendance.
</blockquote>
<p>
She talks not only about the conference itself (the male vs female attendance, the presence of Apple laptops and the age of attendees) as well as <a href="http://blog.kathyreid.id.au/category/barcampmelbourne2008/">her talk</a> on the advancement of practices at her workplace and other talks like an intro to <a href="http://www.aphplix.org/main.php">APhpLix</a> and how to use <a href="http://www.phpunit.de/wiki/phpUnderControl">PHP Under Control</a>.
</p>]]></description>
      <pubDate>Thu, 06 Mar 2008 14:33:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weir O'Phinney's Blog: ZendCon: Best Practices Session]]></title>
      <guid>http://www.phpdeveloper.org/news/6502</guid>
      <link>http://www.phpdeveloper.org/news/6502</link>
      <description><![CDATA[<p>
The this year's <a href="http://www.zendcon.com">Zend/PHP Conference & Expo</a>, <i>Matthew Weir O'Phinney</i> and <i>Mike Naberezny</i> wil be presenting a "Best Practices" session, which <i>Matthew</i> talks a bit about in his <a href="http://weierophinney.net/matthew/archives/127-ZendCon-Best-Practices-Session.html">latest blog entry</a>.
</p>
<blockquote>
We had so much fun presenting during last year's conference, we thought we'd do it again. The session is a pre-conference tutorial session, running for 3 hours on Monday morning, 30 October 2006. 
</blockquote>
<p>
The session will be divided up into two different main sections - programming practices and tools and processes. Each of these have their subsections, including test drive development/unit testing, project documentation, and collaboration tips and tools.
</p>]]></description>
      <pubDate>Mon, 16 Oct 2006 08:12:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Kore Nordmann's Blog: Weekender talks online]]></title>
      <guid>http://www.phpdeveloper.org/news/6469</guid>
      <link>http://www.phpdeveloper.org/news/6469</link>
      <description><![CDATA[<p>
<i>Kore Nordmann</i> has <a href="http://kore-nordmann.de/home/blog/php/weekender_talks_online">posted about</a> the talks from the <a href="http://weekender.phpugdo.de/">PHPWeekender</a> event being posted online.
</p>
<p>
The talks followed three topics:
<ul>
<li>Best Practices - security, performance up to basic OOP features in PHP and debugging
<li>Object-oriented programming - "OO Candy store"
<li>and the ever-popular "Enterprise PHP"
</ul>
You can check out the slides and information for each of the talks on <a href="http://kore-nordmann.de/home/talks_tutorials_and_publications">Kore's own page</a> listing them out (as well as some other great talks from other conferences).
</p>]]></description>
      <pubDate>Tue, 10 Oct 2006 12:33:00 -0500</pubDate>
    </item>
  </channel>
</rss>

