<?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>Wed, 19 Jun 2013 04:08:24 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Matthew Turland's Blog: EAV Modeling - Square Peg in a Round Hole? ]]></title>
      <guid>http://www.phpdeveloper.org/news/10687</guid>
      <link>http://www.phpdeveloper.org/news/10687</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> has <a href="http://ishouldbecoding.com/2008/07/19/eav-modeling---square-peg-in-a-round-hole">posted about</a> a topic that was the subject of a <a href="http://www.phparch.com/c/magazine/issue/76">recent cover story</a> in php|architect magazine - <a href="http://en.wikipedia.org/wiki/Entity-Attribute-Value_model">EAV modeling</a>.
</p>
<blockquote>
The mental image that came to me when reading about this approach to data modeling was taking the traditional relational table and turning it on its head. [...] EAV actually has to circumvent, work around, or reimplement features that most mainstream database servers today provide "for free" to the traditional relational counterparts of EAV in order to get equal functionality.
</blockquote>
<p>
He <a href="http://ishouldbecoding.com/2008/07/19/eav-modeling---square-peg-in-a-round-hole">talks about</a> features the structure has (including row-level referential integrity and schema metadata) and points out some of the other document-focused database systems like <a href="http://lucene.apache.org/java/docs/index.html">Lucene</a> and <a href="http://incubator.apache.org/couchdb/">CouchDB</a>.
</p>
<p>
Check out the story in the <a href="http://www.phparch.com/c/magazine/issue/76">June 2008 issue</a> of php|architect for that cover story from <i>Carl Welch</i>.
</p>]]></description>
      <pubDate>Fri, 25 Jul 2008 11:14:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Robert Peake's Blog: GTD Connect]]></title>
      <guid>http://www.phpdeveloper.org/news/6042</guid>
      <link>http://www.phpdeveloper.org/news/6042</link>
      <description><![CDATA[<p>
It's always good to finish a rather large project, and <i>Robert Peake</i> shares his joy in <a href="http://www.robertpeake.com/archives/173-GTD-Connect.html">this new post</a> on his blog nothing that not only is the project off and running, but it was all created based on a best practices/standards-based approach with respect to PHP development.
</p>
<blockquote>
I spent over 18 months architecting the system, from dedicated hardware to software including eCommerce, CRM, subscription management, recurring billing, and content management systems. I had great help from a small, dedicated, and very talented in-house team of artists and programmers. Absolutely everything is implemented on a <a href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29">LAMP</a> stack. 
</blockquote>
<p>
He <a href="http://www.robertpeake.com/archives/173-GTD-Connect.html">notes several</a> of the things they used along the way, including:
<ul>
<li><a href="http://robertpeake.com/archives/130-Introducing-Design-Patterns-Now-Available.html">Design patterns</a>
<li><a href="http://www.robertpeake.com/archives/126-Design-Patterns,-Ajax,-and-Application-Supremacy.html">Ajax</a>
<li><a href="http://www.robertpeake.com/archives/110-Optimizing,-Staticizing,-and-Caching-PHP.html">Optimization</a>
<li><a href="http://www.robertpeake.com/archives/72-Enterprise-PHP-Coding-Standards.html">Coding standards</a>
<li><a href="http://www.robertpeake.com/archives/20-Extreme-Programming.html">Extreme programming tactics</a>
</ul>
</p>
<blockquote>
I consider it a kind of real-world treatise on how to effectively implement enterprise best practices with LAMP technologies. No books, no debating, no theory -- we did it.
</blockquote>]]></description>
      <pubDate>Tue, 15 Aug 2006 08:21:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[The OC Food Review Blog: Notes on implementing location based search (part 2 of 2)]]></title>
      <guid>http://www.phpdeveloper.org/news/5734</guid>
      <link>http://www.phpdeveloper.org/news/5734</link>
      <description><![CDATA[<p>
<i>Rahim Sonawalla</i> has posted <a href="http://blog.ocfoodreview.com/2006/06/30/notes-on-implementing-location-based-search-part-2-of-2/">part two</a> of his series on The OC Food Review blog covering the creation of a location-based search using geocoding.
</p>
<blockquote>
We got geocoding out of the way in the first part, so now it's time to talk distances. To figure out how far apart two places are, we could use the traditional method of calculating distances between two points, but that damn Columbus didn't fall off into the Twighlight Zone when he passed the horizon. Turns out the Earth isn't flat, go figure. Oh, and since it isn't flat, assuming that it is will cause your numbers to be off when calculating distances using normal geometry-sometimes by miles.
</blockquote>
<p>
He <a href="http://blog.ocfoodreview.com/2006/06/30/notes-on-implementing-location-based-search-part-2-of-2">links to</a> a <a href="http://mathforum.org/library/drmath/view/51833.html">formula</a> for finding the difference when the distances are short as well as a <a href="http://wantingseed.com/sprout/2003/06/10/distance-between-two-points-on-earth/">PHP implementation</a> of the Haversine formula when the distances get long.
<p>
He <a href="http://blog.ocfoodreview.com/2006/06/30/notes-on-implementing-location-based-search-part-2-of-2">combines this new knowledge</a> with the information already obtained by the geocoding in the <a href="http://www.phpdeveloper.org/news/5727">first part</a> and a SQL database to help narrow down the items in the list. Then, for each of those, he compares the latitude and longitudes to get the difference between them (in miles).
</p>]]></description>
      <pubDate>Fri, 30 Jun 2006 12:05:41 -0500</pubDate>
    </item>
  </channel>
</rss>
