<?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 03:13:44 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Anna Filina: Like Athletes, Developers Need Practice Before Performing]]></title>
      <guid>http://www.phpdeveloper.org/news/19353</guid>
      <link>http://www.phpdeveloper.org/news/19353</link>
      <description><![CDATA[<p>
<i>Anna Filina</i> has a new post to her site today suggesting that <a href="http://annafilina.com/blog/practice-vs-performance/">developers are like athletes</a>, they need to practice before they can be good at what they do.
</p>
<blockquote>
Think of  a developer as an athlete. He or she is aiming for a medal in a competition. A figure skater can't just perform a triple axel in the Olympics after seeing it done on television. This requires a lot of practice, so that when the time comes, the performance is flawless. Of course, programming doesn't have to be flawless. One must remain pragmatic, yet it still requires practice before a concept can be safely implemented without breaking the project or missing deadlines. Who will pay for that practice?
</blockquote>
<p>
She relates the development manager to the coach of a sports team, being the one that guides the developers into being all they can be and trying out new ideas in the process. She also recommends making use of idle time between projects to prototype, do R&D and learn in general. 
</p>
<blockquote>
Developers need a sandbox. If you don't give it to them, you can end up with one of the following issues. Your entire project could become a sandbox, making it unstable. [...] If you want your developers to get better, allow time for practice, not just learning. It's necessary, easy to do when planned and provides countless benefits to your company. Let me know how that advice worked out for you.
</blockquote>]]></description>
      <pubDate>Fri, 22 Mar 2013 13:51:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage: When To Write Bad Code]]></title>
      <guid>http://www.phpdeveloper.org/news/19105</guid>
      <link>http://www.phpdeveloper.org/news/19105</link>
      <description><![CDATA[<p>
<i>Brandon Savage</i> has posted some of his thoughts on <a href="http://www.brandonsavage.net/when-to-write-bad-code/">when it's okay to write bad code</a> in your development lifecycle:
</p>
<blockquote>
I've been there myself. I recently needed to prototype something. As I sat down to work on it, I had absolutely no idea how I was going to write the component I was working on. And so, I started working - without a plan, without writing tests, without designing an architecture, and without really knowing how the component was going to end up. You know what? The component came out working, but when I was done it was ugly. Totally ugly. The code was bad. But I had a solution, and a solution that worked.
</blockquote>
<p>
He points out that sometimes, doing things "the right way" can stifle creativity and experimentation - two things that a developer needs to solve the problems they face day to day. He notes that refactoring is a part of their job and moving from a rough prototype to a finished product often improves this skill and can find issues not discovered before.  
</p>
<blockquote>
This does NOT mean that developers can push bad code into a repository. Nothing lives longer than temporary code; see to it that your finished code is always good.
</blockquote>]]></description>
      <pubDate>Tue, 29 Jan 2013 11:14:51 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ralph Schindler's Blog: PHP Constructor Best Practices And The Prototype Pattern]]></title>
      <guid>http://www.phpdeveloper.org/news/17659</guid>
      <link>http://www.phpdeveloper.org/news/17659</link>
      <description><![CDATA[<p>
In <a href="http://ralphschindler.com/2012/03/09/php-constructor-best-practices-and-the-prototype-pattern">this new post</a> <i>Ralph Schindler</i> takes a look at the Prototype design pattern and uses it to illustrate some best practices in using constructors in PHP.
</p>
<blockquote>
If your knowledge of constructors ends with "the place where I put my object initialization code," read on. While this is mostly what a constructor is, the way a developer crafts their class constructor greatly impacts the initial API of a particular class/object; which ultimately affects usability and extensibility. After all, the constructor is the first impression a particular class can make.
</blockquote>
<p>
He starts at ground level, reintroducing what a constructor is and what it should (and shouldn't) be used for. He talks about constructor overloading, constructor injection, dynamic class extension and using the <a href="http://en.wikipedia.org/wiki/Prototype_pattern">Prototype pattern</a> to create "an unlimited number of objects of a particular type, with dependencies in tact, each with slight variations." He gives an example with a "DbAdapter" class, showing dynamic class instantiation and how to, using the Prototype method, inject a DbAdapter object and have your class use that instead.
</p>]]></description>
      <pubDate>Mon, 12 Mar 2012 11:26:10 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Reddit.com: PHP.net gets a new design. Opinions divided]]></title>
      <guid>http://www.phpdeveloper.org/news/17448</guid>
      <link>http://www.phpdeveloper.org/news/17448</link>
      <description><![CDATA[<p>
In <a href="http://www.reddit.com/r/PHP/comments/om9gm/phpnet_gets_a_new_design_opinions_divided_great/">this recent post</a> on Reddit.com, there's some good discussion/feedback about the <a href="http://prototype.php.net/">proposed redesign of PHP.net</a>.
</p>
<p>Opinions from commentors range widly:</p>
<ul>
<li>"The layout's nice. But those colors are downright disgusting."
<li>"To be honest, the new version is 100x better."
<li>"It's definitely way better than the old design but still not exactly great is it?.."
<li>"Much more profressional. Welcome to the 21st century PHP.net."
</ul>
<p>
Have an opinion on <a href="http://prototype.php.net/">the new layout</a>? <a href="http://www.reddit.com/r/PHP/comments/om9gm/phpnet_gets_a_new_design_opinions_divided_great/">voice it here</a>!
</p>]]></description>
      <pubDate>Wed, 25 Jan 2012 11:08:43 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: Rapid Application Prototyping in PHP Using a Micro Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/16818</guid>
      <link>http://www.phpdeveloper.org/news/16818</link>
      <description><![CDATA[<p>
On NetTuts.com today there's a new tutorial posted about <a href="http://net.tutsplus.com/tutorials/php/rapid-application-prototyping-in-php-using-a-micro-framework/">using a microframework for prototyping an application</a> you may not need a full stack framework to get running. Their examples are based on the <a href="http://www.slimframework.com/install">Slim</a> framework.
</p>
<blockquote>
Let's face it: we all have great ideas for a web application. Whether you write them down on paper or remember them using your eidetic memory, there comes a point when you want test whether or not your idea is really viable. In this tutorial, we'll use a micro framework, a templating language and an ORM to rapidly develop an application prototype.
</blockquote>
<p>
There's an introduction to help you get <a href="http://www.slimframework.com/install">Slim</a>, some <a href="https://github.com/codeguy/Slim-Extras">extras</a>, <a href="http://www.twig-project.org/installation">Twig</a> templating and <a href="https://github.com/j4mie/paris">Paris</a> and <a href="https://github.com/j4mie/idiorm">Idorm</a> set up and working happily together. There's code included for bootstrapping the application, creating a few routes, building models and using them to pull data from the database. They also create an "admin" area for their sample blog application, building an "add article" form and protecting it with a simple login system. You can <a href="http://nettuts.s3.amazonaws.com/1041_phprapidprototyping/code.zip">download the source</a> if you'd like to see it all working together.
</p>]]></description>
      <pubDate>Tue, 06 Sep 2011 09:56:57 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: A Prototype API for Joind.in]]></title>
      <guid>http://www.phpdeveloper.org/news/16347</guid>
      <link>http://www.phpdeveloper.org/news/16347</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> has <a href="http://www.lornajane.net/posts/2011/A-Prototype-API-for-Joind.In">posted about an API release</a> she's made for the <a href="http://joind.in">Joind.in</a> website today - the first stages of a completely reworked version of the site's API.
</p>
<blockquote>
Following the principle of "release early, release often", I put live a very early version of the v2 API for joind.in today (so that I can use it in another project!). I haven't updated the documentation yet but in case anyone was thinking of consuming data from joind.in, this at least gives you an idea of the direction of the project so I thought I'd share.
</blockquote>
<p>
The <a href="http://api.joind.in/">new service</a> is RESTful and has a few working features already including fetching event and talk details, pagination and multiple output formats. You can find samples of the output <a href="http://api.joind.in/v2/events">here</a> and <a href="http://api.joind.in/v2/events/603">here</a>. If you're interested in seeing the source so far, check out <a href="https://github.com/joindin/joind.in/tree/master/src/api">the github account for Joind.in</a> (and maybe even clone a copy).
</p>]]></description>
      <pubDate>Tue, 17 May 2011 12:37:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: It's not all about the code ]]></title>
      <guid>http://www.phpdeveloper.org/news/14161</guid>
      <link>http://www.phpdeveloper.org/news/14161</link>
      <description><![CDATA[<p>
In a recent (quick) post to the php|architect site <i>Koen Van Urk</i> reminds us that <a href="http://www.phparch.com/2010/03/05/its-not-all-about-the-code/">it's not all about the code</a>, there's planning to consider too.
</p>
<blockquote>
Sure, it is important to have your code as bug free as possible, well documented and as optimized as possible. It is, however, impossible to achieve this all without prior planning. Good project coordination.
</blockquote>
<p>
He suggests one of the most useful and reliable forms of planning and defining the requirements for an application - writing them down on a normal piece of paper. Then from there let the ideas flow with things like look and feel, mapping out page structure, etc. Website planning tools are good, but when it comes down to basic prototyping, sometimes there's just nothing better than a pencil and a few sheets of plain white paper.
</p>]]></description>
      <pubDate>Wed, 10 Mar 2010 10:47:23 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPInfo: Add Sting to PHP Apps with WASP Patterns]]></title>
      <guid>http://www.phpdeveloper.org/news/11097</guid>
      <link>http://www.phpdeveloper.org/news/11097</link>
      <description><![CDATA[<p>
In <a href="http://www.sda-asia.com/php_information/psecom,id,4,articles,853.html">this new post</a> to the PHPInfo site, <i>Brian Fioca</i> takes a look at the <a href="http://wasp.sourceforge.net/">WASP framework</a> and how it can help you develop your applications quickly.
</p>
<blockquote>
In this article I will demonstrate the power and simplicity of developing PHP applications using the WASP Framework through the illustration of a simple user module design pattern. The example code will encompass the creation of a user account and subsequent login validation. In the course of this discussion, we will cover the creation of the three tiers of the application- model, view, and controller-and introduce a simple approach to using AJAX to save application form data and present flexible user interfaces.
</blockquote>
<p>
The provides the code and database structure to make the application work, including the "touch of Ajax" made using the <a href="http://www.prototypejs.org/">Prototype</a> Javascript library.
</p>]]></description>
      <pubDate>Fri, 26 Sep 2008 11:19:56 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[IBM developerWorks: Build Ajax-based Web sites with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10962</guid>
      <link>http://www.phpdeveloper.org/news/10962</link>
      <description><![CDATA[<p>
The IBM developerWorks website has a <a href="http://www.ibm.com/developerworks/library/wa-aj-php/?ca=drs-tp3608">new tutorial</a> for those looking to get into the powerful combination of Ajax and PHP - an introduction to creating Ajax-based websites with PHP.
</p>
<blockquote>
Learn the process of writing Asynchronous JavaScript + XML (Ajax) applications using native JavaScript code and PHP. This article introduces a few different frameworks and application program interfaces (APIs) that reduce the amount of code you need to write to achieve a complete Ajax-based Web application.
</blockquote>
<p>
They (briefly) explain what Ajax is and the benefits of it before jumping right in to a sample page. They go for the "manual first" approach so developers know to make basic connections with the XMLHttpRequest object and handle the responses. They do mention some of the libraries offered that help with the connections too (like jQuery, Prototype and Dojo).
</p>]]></description>
      <pubDate>Thu, 04 Sep 2008 11:19:02 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Developing a Ajax-driven Shopping Cart with PHP and Prototype, Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/10105</guid>
      <link>http://www.phpdeveloper.org/news/10105</link>
      <description><![CDATA[<p>
PHPBuilder.com has continued their series looking at building an Ajax-driven shopping cart with <a href="http://www.phpbuilder.com/columns/jason_gilmore20080502_2.php3">part two</a> posted today (<a href="http://www.phpdeveloper.org/news/10060">part one here</a>). Last time they laid the PHP foundation for the example app, this time they add another layer - the Ajax functionality to manage the current contents of the cart.
</p>
<blockquote>
Finally, a link to the shopping cart is provided, although you could just as easily have displayed the cart contents on the same page. For the sake of brevity I'll just show you how to integrate the add feature, and will leave the subtraction mechanism to you as an exercise.
</blockquote>
<p>
The Ajax frontend calls a managecart.php backend file that calls addToCart and deleteFromCart based on which type of "task" is passed to it.
</p>]]></description>
      <pubDate>Mon, 05 May 2008 07:58:21 -0500</pubDate>
    </item>
  </channel>
</rss>
