<?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 09:18:09 -0500</pubDate>
    <ttl>30</ttl>
    <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>
    <item>
      <title><![CDATA[PHPBuilder.com: Developing a Ajax-driven Shopping Cart with PHP and Prototype]]></title>
      <guid>http://www.phpdeveloper.org/news/10060</guid>
      <link>http://www.phpdeveloper.org/news/10060</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's <a href="http://www.phpbuilder.com/columns/jason_gilmore20080425.php3">a new tutorial</a> posted showing how to combine the Javascript power of Prototype along side PHP's adaptability to create a simple, ajax-driven shopping cart for your site.
</p>
<blockquote>
In the latest installment of this ongoing PHP series, I'll show you how to build a shopping cart using PHP, session handling, and the Prototype JavaScript library. The cart allows users to add and delete products from the cart, as well as change cart quantities. And of course, the interaction is seemingly instantaneous, allowing for the user to continue shopping without waiting for the page to reload.
</blockquote>
<p>
They start from the ground up - making the database tables, inserting some data - before writing up the simple PHP class with methods like deleteFromCart and getCart. This lays the foundation for the next article in the series where they add in a splash of ajax to make it a bit more user-friendly.
</p>]]></description>
      <pubDate>Tue, 29 Apr 2008 08:48:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPRiot.com: Monitoring File Uploads using Ajax and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/9402</guid>
      <link>http://www.phpdeveloper.org/news/9402</link>
      <description><![CDATA[<p>
On the PHPRiot.com site today there's a <a href="http://www.phpriot.com/articles/php-ajax-file-uploads">new tutorial</a> posted covering an alternate method for uploading files - using Ajax to help monitor the progress of the file upload.
</p>
<blockquote>
In this article we will develop a solution that will allow users to upload a file from their computer using HTML forms. We will then determine the progress of the upload while it is in progress using Ajax, and display the status to the user.
</blockquote>
<p>
They chose the <a href="http://www.prototypejs.org/">prototype library</a> and the APC extension for PHP to make their code work. The basic idea is, through a feature of APC, the script can receive a progress measurement back from the server. This is handed off to the Javascript (Ajax) functionality that then updates the progress meter to reflect the change.
</p>]]></description>
      <pubDate>Fri, 11 Jan 2008 08:45:00 -0600</pubDate>
    </item>
  </channel>
</rss>

