<?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, 23 May 2012 18:18:02 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Lee Davis' Blog: FormFactory - Driving Doctrine 1.2 / 2.x Mappings into Zend_Form objects]]></title>
      <guid>http://www.phpdeveloper.org/news/17758</guid>
      <link>http://www.phpdeveloper.org/news/17758</link>
      <description><![CDATA[<p>
<i>Lee Davis</i> has <a href="http://www.duckheads.co.uk/drive-forms-from-doctrine-entities/">a recent post</a> to his blog showing how you can combine the Zend_Form component of the Zend Framework with Doctrine to help directly "drive" your forms.
</p>
<blockquote>
On a few of my previous projects I found myself creating more form classes than I'd like. And after the 30th one I figured there had to be a better way. I quickly realised that most of the elements within these forms shared similarities to the data type I would use on my database definitions. As I was using Doctrine at the time I figured I could not only drive my database from my mapping definitions, but my forms too.
</blockquote>
<p>
He shows how <a href="https://github.com/leedavis81/FormFactory>his library</a> (github) can be used to create a simple mapping between the form fields and the Doctrine entities, building from settings in an ini file. It also allows you to fall back to the normal Zend_Form configuration directives if you need something more custom. The <a href="http://www.duckheads.co.uk/drive-forms-from-doctrine-entities/">post</a> gets into more detail about using the project (configuring caching, other config options).
</p>
<p>
The project can be found <a href="https://github.com/leedavis81/FormFactory">here on github</a>.
</p>]]></description>
      <pubDate>Fri, 30 Mar 2012 10:43:57 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Building an ORM in PHP: Domain Modeling]]></title>
      <guid>http://www.phpdeveloper.org/news/17159</guid>
      <link>http://www.phpdeveloper.org/news/17159</link>
      <description><![CDATA[<p>
Continuing on from the <a href="http://phpdeveloper.org/news/17146">first part</a> of their series, DevShed has posted part two of their "Building an ORM in PHP" series. This latest tutorial <a href="http://www.devshed.com/c/a/MySQL/Building-an-ORM-in-PHP-Domain-Modeling/">focuses on domain modeling</a> (and collection handling).
</p>
<blockquote>
In that first part, I implemented the ORM's data access and mapping layers. And as you'll surely recall, the entire implementation process was pretty straightforward and easy to follow. Of course, in its current state the ORM is still far from a fully-functional structure. We need to add some additional components to it, such as a domain model and the classes responsible for handling collections of entities (remember that the ORM relies heavily on the data mapper pattern to do its business properly).
</blockquote>
<p>
He stays with his "simple blog" example and shows domain models (based on an abstract entity) for Entries, Comments and Authors. His containers extend the Countable, IteratorAggregate and ArrayAccess interfaces to give them some extra abilities.
</p>]]></description>
      <pubDate>Tue, 22 Nov 2011 16:46:10 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: The era of Object-Document Mapping]]></title>
      <guid>http://www.phpdeveloper.org/news/16568</guid>
      <link>http://www.phpdeveloper.org/news/16568</link>
      <description><![CDATA[<p>
On the PHP on Windows section of DZone.com today <i>Giorgio Sironi</i> has posted about a different sort of object mapping than is usually thought of with databases - <a href="http://css.dzone.com/articles/era-object-document-mapping">object-document mapping</a>.
</p>
<blockquote>
The Data Mapper pattern is a mechanism for persistence where the application model and the data source have no dependencies between each other. [...] But everytime we talk about the Data Mapper pattern, we assume there is a relational database on the other side of the persistence boundary. We always save objects; we always map them to MySQL or Postgres tables; but it's not mandatory.
</blockquote>
<p>
He talks about two projects, <a href="http://www.doctrine-project.org/projects/mongodb_odm">MongoDb_ODM</a> and <a href="http://www.doctrine-project.org/projects/couchdb_odm">CouchDb_ODM</a>, that the Doctrine project is working on to help make working with document-driven databases as simple as the usual ORMs. He includes a brief code snippet showing how the feature will work (hint: a namespace of Document instead of Entity). He lists some of the features - including the usual ORM capabilities, support for collections, cascade of persistence - and where you can get the latest code for it (from <a href="https://github.com/doctrine/couchdb-odm.git">github</a> and <a href="pear.doctrine-project.org/DoctrineMongoDBODM-1.0.0BETA3">PEAR</a>
</p>]]></description>
      <pubDate>Fri, 08 Jul 2011 11:45:46 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Otto on WordPress: WordPress 3.0: Multisite Domain Mapping Tutorial]]></title>
      <guid>http://www.phpdeveloper.org/news/14673</guid>
      <link>http://www.phpdeveloper.org/news/14673</link>
      <description><![CDATA[<p>
From the Otto on WordPress blog there's a <a href="http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/">recent post</a> (made more useful by the release of <a href="http://wordpress.org">WordPress 3</a>) about how to use the multi-site abilities of this latest version to create multiple sites with their own domain names attached to each.
</p>
<blockquote>
The other day, Klint Finley wrote a <a href="http://weblogtoolscollection.com/archives/2010/06/02/wordpress-3-multisite/">very good walkthrough</a> of using the new Multisite functionality of WordPress 3.0. In the comments, a lot of people wanted to know how to use your own Top-Level-Domains. Since I'm doing that now, here's a quick walkthrough/how-to guide.
</blockquote>
<p>
He uses the <a href="http://wordpress.org/extend/plugins/wordpress-mu-domain-mapping/">WordPress MU Domain Mapping plugin</a> to get the job done and, via screenshots and a little bit of code, shows you how to use the admin panel to easily set up the domains and the sites they should resolve to.
</p>]]></description>
      <pubDate>Fri, 18 Jun 2010 11:07:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: PHP and Ordnance Survey Mapping]]></title>
      <guid>http://www.phpdeveloper.org/news/14427</guid>
      <link>http://www.phpdeveloper.org/news/14427</link>
      <description><![CDATA[<p>
<i>Derick Rethans</i>, indulging his "map geek" side, has written up a new post showing how he took the data from <a href="http://www.ordnancesurvey.co.uk/oswebsite/opendata/">Ordnance Survey</a> and <a href="http://derickrethans.nl/php-mapping.html">mapped some information in the UK</a> - postcode density for the whole area.
</p>
<blockquote>
I decided to map all the postcodes onto the UK map where more postcodes for a specific place would create a "lighter" colour. Each postcode has on average about 15 addresses, so in more densely populated areas you have more "postcodes-per-area". Doing this wasn't very difficult and it resulted in the <a href="http://derickrethans.nl/images/content/postcode-uk-scaled.jpg">following map</a>.
</blockquote>
<p>
He walks through the entire process including how, in working with the data, he noticed alignment issues caused by the differing projections the map information service uses (<a href="http://en.wikipedia.org/wiki/Mercator_projection">Mercator</a>) versus just mapping to a flat image. Some calculations were made to convert the latitude/longitude to the correct locations and the resulting points were plotted on a cut-out image of the UK.
</p>
<blockquote>
After I figured out all the maths for this, the only problem that remains that implementing those algorithms in PHP is show-calculating all the positions from the 1.6 million postcode locations takes up to 10 minutes. This is why I am not presenting any code yet. I am planning to implement all the necessary calculations in a <a href="http://derickrethans.nl/available-for-php-extension-writing.html">PHP extension</a> to speed up the calculations.
</blockquote>]]></description>
      <pubDate>Wed, 28 Apr 2010 10:55:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Using Code Igniter to Build an IP-to-Country Mapping Application]]></title>
      <guid>http://www.phpdeveloper.org/news/12016</guid>
      <link>http://www.phpdeveloper.org/news/12016</link>
      <description><![CDATA[<p>
DevShed finished off their tutorial series looking at mapping IPs to countries in a CodeIgniter application with <a href="http://www.devshed.com/c/a/PHP/Using-Code-Igniter-to-Build-an-IPtoCountry-Mapping-Application/">this new article</a> completing the application to provide a correct products list based on their location.
</p>
<blockquote>
In this final chapter of the series, I'll be discussing how to build multi-lingual web pages by combining the functionality brought by the "iptocountry" MySQL table that you learned in previous tutorials and the power of the Code Igniter PHP framework.
</blockquote>
<p>
Their database tables sort the prodcuts out with the three character country code they're associated with. The IP-to-country tables then help with the translation between the visitor's IP address and which products should be shown.
</p>]]></description>
      <pubDate>Wed, 25 Feb 2009 07:57:11 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Generating Web Pages in Multiple Languages with a PHP IP-to-Country Mapping Application]]></title>
      <guid>http://www.phpdeveloper.org/news/11984</guid>
      <link>http://www.phpdeveloper.org/news/11984</link>
      <description><![CDATA[<p>
DevShed has the next in their "IP to country" series posted today, <a href="http://www.devshed.com/c/a/PHP/Generating-Web-Pages-in-Multiple-Languages-with-a-PHP-IPtoCountry-Mapping-Application/">this new tutorial</a> showing how to create a more customized site (a simple page or two) with the IP detection and a front controller.
</p>
<blockquote>
Welcome to the third part of a series on developing an IP-to-country mapping application with PHP. Made up of four approachable tutorials, this series teaches you how to create a program like this by using a single MySQL lookup table, and shows you how to use this program to enrich your own web sites with geo-location capabilities.
</blockquote>
<p>
They use the mapping data you pulled from the <a href="http://software77.net/cgi-bin/ip-country/geo-ip.pl">Webnet77</a> ip-to-country database (and dropped into the MySQL database) to evaluate where the user is coming from and <A href="http://www.devshed.com/c/a/PHP/Generating-Web-Pages-in-Multiple-Languages-with-a-PHP-IPtoCountry-Mapping-Application/2/">display product information</a> based on the two letter country code it returns. They throw in a bit about a front controller too, a simpler way to ensure that the user's location code is set for every request.
</p>]]></description>
      <pubDate>Thu, 19 Feb 2009 12:03:18 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Building Sample Programs for an IP-to-country Mapping Application]]></title>
      <guid>http://www.phpdeveloper.org/news/11926</guid>
      <link>http://www.phpdeveloper.org/news/11926</link>
      <description><![CDATA[<p>
DevShed has posted the <a href="http://www.devshed.com/c/a/PHP/Building-Sample-Programs-for-an-iptocountry-Mapping-Application/">second part</a> of their series looking at an IP-to-Country mapping application, this time with a focus on building some simple applications to use the data inside.
</p>
<blockquote>
Building a web site that will be seated on a multi-lingual platform often requires developing an IP-to-country application that permits you to map users' IP addresses to their corresponding countries. [...] This database contains over 82,0000 records and allows you to map more than 3,200,000 IP addresses to their respective countries. This can be really handy for developing different IP-to-country applications with minor efforts.
</blockquote>
<p>
The review the <a href="http://www.phpdeveloper.org/news/11876">previous article</a> on making the database and move ahead to create a script that selects - based off the IP range - the country that address could be from.
</p>]]></description>
      <pubDate>Wed, 11 Feb 2009 08:44:29 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Building an IP-to-Country Mapping Application with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/11876</guid>
      <link>http://www.phpdeveloper.org/news/11876</link>
      <description><![CDATA[<p>
DevShed has launched a new four-article series today looking at <a href="http://www.devshed.com/c/a/PHP/Building-an-IP-to-Country-Mapping-Application-with-PHP/">resolving a user's IP to their country</a> via the database provided <a href="http://software77.net/cgi-bin/ip-country/geo-ip.pl">here</a>.
</p>
<blockquote>
If you have content in several different languages, your visitors probably speak several different languages as well. Wouldn't it be nice to serve them content from your site in their native language, based on the country from which they hail? You can, even if you're a small company, with an application that tells you a visitor's country based on their IP address. This four-part article series will show you how to build the application and incorporate it into your web site.
</blockquote>
<p>
They just get things set up in this first part of the series - grabbing the CSV file from <a href="http://software77.net/cgi-bin/ip-country/geo-ip.pl">the site</a>, creating the MySQL table to import it into and running a script to parse the CSV and push its data into the table.
</p>]]></description>
      <pubDate>Wed, 04 Feb 2009 08:47:30 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: How to Create a Mashup by Combining 3 Different APIs]]></title>
      <guid>http://www.phpdeveloper.org/news/11192</guid>
      <link>http://www.phpdeveloper.org/news/11192</link>
      <description><![CDATA[<p>
On the NETTUTS website today there's <a href="http://nettuts.com/misc/how-to-create-a-mashup-by-combining-3-different-apis/">a new tutorial</a> about mashups - specifically showing how to create a sample one by combining three services: Google Maps, the IPloc service and the Beer Mapping Project.
</p>
<blockquote>
This tutorial will show you how to create a mashup of three different <a href="http://en.wikipedia.org/wiki/API">APIs</a> including integration with Google Maps. This idea came about when I was searching through <a href="http://www.programmableweb.com/apis/directory">ProgrammableWeb's API</a> directory for a couple APIs that complimented each other enough that I could use one to provide the other with data. What I came up with will be known as the "Beer Mashup".
</blockquote>
<p>
They include links to scripts to interface easily with the APIs and the sample code you'll need to query against them. They wrap it up with the HTML for the output page (a map showing "beer hot spots" near your area) and the <a href="http://nettuts.s3.amazonaws.com/089_mashup/DEMO.zip">download of the source</a> and <a href="http://www.nettuts.com/demos/07_mashup/DEMO/beermashup2.php">demo</a> to give an example of how it should look.
</p>]]></description>
      <pubDate>Mon, 13 Oct 2008 08:40:53 -0500</pubDate>
    </item>
  </channel>
</rss>

