<?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>Mon, 20 May 2013 12:03:31 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: Factory patterns: Collaborators Map]]></title>
      <guid>http://www.phpdeveloper.org/news/18651</guid>
      <link>http://www.phpdeveloper.org/news/18651</link>
      <description><![CDATA[<p>
On DZone.com <i>Giorgio Sironi</i> has a new tutorial looking at <a href="http://css.dzone.com/articles/factory-patterns-collaborators">the Factory design pattern</a>, specifically the use of a "collaborators map" to create them inside of a dependency injection container.
</p>
<blockquote>
Like for every library, you should first evaluate if the costs and benefit of integrating [a dependency injection container] are worth it. The alternative is to write your own factory classes, methods and closures: this article explains one of the patterns for building dynamic Factory objects, and as such lowers the cost of the second option. What you know how to do has a lower cost than what you still have to learn, considering risk and implementation time.
</blockquote>
<p>
He talks about the "old way" of making your own factories to create objects and how the collaborators mapping can replace that. The collaboration mapping is passed in when the object is created and a "create" method is called when the objects (or sub-objects) are needed. He also mentions some of the "easy" and "hard" changes you could make to this setup to expand its functionality.
</p>]]></description>
      <pubDate>Wed, 24 Oct 2012 09:43:02 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPRiot.com: Reducing a Map Path Using Douglas-Peucker Algorithm]]></title>
      <guid>http://www.phpdeveloper.org/news/16274</guid>
      <link>http://www.phpdeveloper.org/news/16274</link>
      <description><![CDATA[<p>
On PHPRiot.com there's a new tutorial showing you how to <a href="http://phpriot.com/articles/reducing-map-path-douglas-peucker-algorithm">use the Douglas-Peucker algorithm</a> to make the pathing on your map the simplest possible (the fewer points the better) having serious benefits a wide range of users, most notably those on mobile devices.
</p>
<blockquote>
When drawing a path on a map (for instance, the directions from point A to point B) it is important to consider the limitations of the device you're drawing the path on. In this article, I will show you how to reduce the number of points in a path so the path can be displayed with minimal loss of quality on devices such as iPhone or Android-powered devices that may struggle with an extremely large set of points.
</blockquote>
<p>
Using the <a href="http://code.google.com/transit/spec/transit_feed_specification.html">GTFS</a> service's data, he's been creating maps for an iPhone application. Naturally, a path with <a href="http://phpriot.com/assets/2223-58---e759">700 points</a> would take a lot of resources to render. Using the Douglas-Peucker algorithm he can reduce it down to a much more manageable <a href="http://phpriot.com/assets/ed88-59---8965">70 points</a>. He explains the algorithm briefly and hows how to implement it in PHP with three classes - ShapePoint, Shape and ShapeReducer. The resulting reduced dataset is then passed directly over to a Google Maps for plotting.
</p>]]></description>
      <pubDate>Fri, 29 Apr 2011 12:40:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMagazine.net: Hello PHPUG ?!]]></title>
      <guid>http://www.phpdeveloper.org/news/15206</guid>
      <link>http://www.phpdeveloper.org/news/15206</link>
      <description><![CDATA[<p>
On the PHPMagazine.net site there's <a href="http://www.phpmagazine.net/2010/09/hello-phpug.html">a new article</a> about PHP user groups and some of the resources that can be used to help find one in your area.
</p>
<blockquote>
Part of this community a lot of core developers, documentation editors, web application developers, hackers, Quality assurance team, tons of open source projects, PHP UG around the world, and many many other people contributing each one in its category, and even friends and family! Users Group are an active element of the PHP ecosystem, and I believe that everyone should be involved to contribute and keep these UG active around the world.
</blockquote>
<p>
Some of the efforts that he's pointed out from the past are the <a href="http://phpgroups.org">phpgroups.org</a> site, <a href="http://phpusergroups.com">phpusergroups.com</a> as well as the <a href="http://www.sharemymap.com/m/maps/php-user-groups">sharemymap.com</a> effort to map the groups out. Unfortunately there's no single resource that you can point to that has a full listing.
</p>]]></description>
      <pubDate>Wed, 29 Sep 2010 12:02:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: How to Avoid 404s and Redirect Old URLs in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14897</guid>
      <link>http://www.phpdeveloper.org/news/14897</link>
      <description><![CDATA[<p>
On the SitePoint PHP blog today there's <a href="http://www.sitepoint.com/blogs/2010/08/03/how-to-redirect-old-urls-php/">a new post</a> showing you how to create a 404 page that will redirect people back to the page they're looking for (that used to be there).
</p>
<blockquote>
It's often necessary to reorganize your site and change the URL structure but, assuming you have similar content, users should rarely encounter a "page not found" error. Producing unnecessary 404 pages is one of my <a href="http://www.sitepoint.com/blogs/2010/07/15/top-10-web-development-mistakes/">top 10 development mistakes</a>. In this article, we'll create an automated PHP redirection system that converts old URLs to a new address. It's not production code, but it will illustrate the basics so that you can adapt it for your own website.
</blockquote>
<p>
They walk you through the creation of a 404 error handling PHP page, configuring your server to use it and making the mapping of new URL to old URL. There's even a bit to include if there's not a mapping for a requested page - returning a 301 HTTP header.
</p>]]></description>
      <pubDate>Tue, 03 Aug 2010 14:15:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer.com: Doctrine: Object Relational Mapping for Your PHP Development]]></title>
      <guid>http://www.phpdeveloper.org/news/14645</guid>
      <link>http://www.phpdeveloper.org/news/14645</link>
      <description><![CDATA[<p>
New on Developer.com today there's a <a href="http://www.developer.com/db/article.php/3887336/article.htm">new article</a> looking at one of the more powerful ORM tools available for PHP - <a href="http://www.doctrine-project.org/">Doctrine</a>.
</p>
<blockquote>
Because of the relational database's pivotal role in driving Web applications, a great deal of time and effort has been put into creating tools that not only simplify the task of mapping database tables to a programming language's object-oriented class structure, but also facilitate the management of your data and schemas over the project lifecycle. [...] The PHP community also has a powerful database integration tool at their disposal: a project known as <a href="http://www.doctrine-project.org/">Doctrine</a>. 
</blockquote>
<p>
They help you get started with this powerful tool by showing you how to get it installed, create a sample schema and loading some fixtures (base data). There's also a quick snippet of code showing you how to grab information from a sample user table and display the name of the user.
</p>]]></description>
      <pubDate>Mon, 14 Jun 2010 10:22:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Request parameter mapping to action method parameters]]></title>
      <guid>http://www.phpdeveloper.org/news/13331</guid>
      <link>http://www.phpdeveloper.org/news/13331</link>
      <description><![CDATA[<p>
The Zend Developer Zone has <a href="http://devzone.zend.com/article/10861-Request-parameter-mapping-to-action-method-parameters">a quick post</a> from <i>albeva</i> about an extension from the default controller in the Zend Framework to map URL parameters directly to the methods.
</p>
<blockquote>
This not only makes parameter passing intuitive (rather than calling $this->_request->getParam() ) but also automatically uses the default value if provided and if typehinting is provided either via phpdoc comment or before the parameter (array or classname) it will do the required instantiation or type casting.
</blockquote>
<p>
<a href="http://devzone.zend.com/article/10861-Request-parameter-mapping-to-action-method-parameters">The post</a> includes a snippet of sample code, but you can learn more <a href="http://fbdevzone.com/2009/10/request-parameter-mapping/">about the script here</a>.
</p>]]></description>
      <pubDate>Mon, 05 Oct 2009 08:04:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[EasyPHPWebsites.com: Creating a Website Visitor Map (Ajax, jQuery, Google Maps API)]]></title>
      <guid>http://www.phpdeveloper.org/news/12732</guid>
      <link>http://www.phpdeveloper.org/news/12732</link>
      <description><![CDATA[<p>
<i>Jason Gilmore</i> has <a href="http://www.easyphpwebsites.com/blog/read/id/21">posted the first tutorial</a> in a series of tutorial combining PHP and jQuery, a look at creating a web site visitor map.
</p>
<blockquote>
Have you ever wanted to create a map depicting the geographical origin
of recent visitors to your website? In this tutorial I'll show you how
to record these locations using the Google Ajax Search API, and then
use a combination of PHP, MySQL, Ajax, and the Google Maps API to
store these locations and build the map.
</blockquote>
<p>
The tutorial shows how to use the <a href="http://code.google.com/apis/ajax/documentation/">Google Ajax API</a> to locate the current visitor's spot in the world, store it into a MySQL database and then use a jQuery interface to pull the json-formatted details out of the system for display.
</p>]]></description>
      <pubDate>Mon, 22 Jun 2009 13:41:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP-GTK Community Site: World map of PHP-GTK developers]]></title>
      <guid>http://www.phpdeveloper.org/news/11828</guid>
      <link>http://www.phpdeveloper.org/news/11828</link>
      <description><![CDATA[<p>
The PHP-GTK Community site has <a href="http://php-gtk.eu/en/world-map-of-php-gtk-developers">launched a new service</a> to help PHP-GTKers out there find out other developers that might be in their area - a world map (based on Google maps) of other PHP-GTK developers around the world.
</p>
<blockquote>
I reviewed the coordinates given by existing members and noticed a good number had visibly inverted latitude and longitude; so I inverted them again to place them where it appeared to make more sense (are there really PHP-GTK devs in the middle of the pacific, or near the South pole ?). So you may want to double-check your coordinates to make sure the values are correct, because it's likely I've not found every error.
</blockquote>
<p>
He's also asking for the <A href="http://www.php-gtk.com.br/">Brasil PHP-GTK community</a> to include their information in the map as well as a request for anyone out there that might want to make a "prettier" icon for showing the developers on the map.
</p>]]></description>
      <pubDate>Wed, 28 Jan 2009 07:55:33 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Michelangelo van Dam's Blog: Mapping Seven Things]]></title>
      <guid>http://www.phpdeveloper.org/news/11671</guid>
      <link>http://www.phpdeveloper.org/news/11671</link>
      <description><![CDATA[<p>
Since the <a href="http://www.phpdeveloper.org/news/11665">Seven Things</a> meme has been charging its way through the members of the PHP community (and some outside it), it's hard to keep track of who is tagging who and if those people have posted their "seven things" and tagged others. <i>Michelangelo van Dam</i> has tried to make things easier with his <a href="http://in2it.be/whotaggedwho.php">"Who Tagged Who" map</a> mini-application that crawls through the posts looking for others who were tagged.
</p>
<blockquote>
Trying to get a bit of overview of all people who have put up their "Seven Things" list, I created a little map that shows who tagged who with an overview of the most tagged persons.
</blockquote>
<p>
You can also grab the <a href="http://in2it.be/whotaggedwho.xml">XML source file</a> if you'd like to manipulate it yourself.
</p>]]></description>
      <pubDate>Mon, 05 Jan 2009 11:17:14 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Asvin Balloo's Blog: Geolocate your visitors with PHP (part 2)]]></title>
      <guid>http://www.phpdeveloper.org/news/10717</guid>
      <link>http://www.phpdeveloper.org/news/10717</link>
      <description><![CDATA[<p>
<i>Asvin Balloo</i> has posted the <a href="http://htmlblog.net/geolocate-your-visitors-with-php-part-2/">second part</a> of his geolocate with PHP tutorial series - using the mapping information gathered from the <a href="http://www.phpdeveloper.org/news/10643">previous article</a> to plot them on a map.
</p>
<blockquote>
<a href="http://htmlblog.net/geolocate-your-visitors-with-php-part-1/">In the first part</a> of this series I showed how you could get the country of a visitor via his IP address. Now with this precious information, I'll show you how to map the visitor visually on the world map using <a href="http://code.google.com/apis/maps/documentation/">Google Maps</a>.
</blockquote>
<p>
The full code is provided - the PHP to pull the latitude/longitude information from the GeoIP library and the Javascript to get the Google Map to plot the point. You can check out the <a href="http://htmlblog.net/demo/myip/">live demo</a> for an example or just <a href="http://htmlblog.net/demo/myip/myip.zip">grab the source</a> and try it out for yourself.
</p>]]></description>
      <pubDate>Wed, 30 Jul 2008 12:08:10 -0500</pubDate>
    </item>
  </channel>
</rss>
