<?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 07:07:51 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Joseph Scott's Blog: Why PHP Strings Equal Zero]]></title>
      <guid>http://www.phpdeveloper.org/news/17679</guid>
      <link>http://www.phpdeveloper.org/news/17679</link>
      <description><![CDATA[<p>
<i>Joseph Scott</i> has a new post to his blog looking at "<a href="http://josephscott.org/archives/2012/03/why-php-strings-equal-zero/">why PHP strings equal zero</a>" - that when you use the "==" operator on a string to compare to zero, it's true.
</p>
<blockquote>
The issue of PHP strings equaling zero has come up a few times recently. [...] Running that will display Equals zero!, which at first glance probably doesn't make much sense. So what is going on here?
</blockquote>
<p>
He gets into the specifics of what's happening - a bit of type jugging, less strict comparison since it's the "==" versus "===" and how the <a href="http://php.net/manual/en/language.types.string.php">PHP manual</a> talks about strings being converted to numbers. 
</p>
<blockquote>
While I still think it is odd that the string gets cast as an integer instead of the other way around, I don't think this is a big deal. I can't recall a single time where I've ever run into this issue in a PHP app. I've only seen it come up in contrived examples like the ones above.
</blockquote>]]></description>
      <pubDate>Thu, 15 Mar 2012 09:47:49 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage's Blog: An XSS Vulerability In The Making]]></title>
      <guid>http://www.phpdeveloper.org/news/17640</guid>
      <link>http://www.phpdeveloper.org/news/17640</link>
      <description><![CDATA[<p>
<i>Brandon Savage</i> has a new post to his blog about what he calls a <a href="http://www.brandonsavage.net/an-xss-vulerability-in-the-making/">XSS vulnerability in the making</a>, something to watch out for when you're doing validation in PHP involving the possibility of numbers as strings.
</p>
<blockquote>
Back in September, <a href="https://crash-stats.mozilla.org/">Socorro</a> received a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=689675">security bug</a> relating to the method we were using for processing inputs for the duration of certain reports. The vulnerability included a proof of concept, with an alert box popping up on production when the link was followed. [...] I was quite surprised at the root cause of the vulnerability. We had opted to compare the incoming data against a known set of valid values - a common practice when whitelisting certain inputs. [...] As expected, when this [example] code is tested, a string of '3' and an integer of 3 work equally well, and a string of '5' and an integer of 5 fail equally. 
</blockquote>
<p>
This automatic casting that PHP does internally caused another issue as well - if the string passed in even started with a valid number from their whitelist set, it still passed.
</p>
<blockquote>
At first we thought this surely had to be a bug in PHP. However, Laura Thomson told me "If comparing two values, type juggling is performed first, which means that the string is converted to a number. This is done by <a href="http://us2.php.net/manual/en/language.types.string.php#language.types.string.conversion">taking the first number found in the string</a>. So this may be confusing/a quirk/a gotcha, but it isn't a bug." And she's right: this isn't a bug per se, but it's certainly an interesting "gotcha."
</blockquote>]]></description>
      <pubDate>Wed, 07 Mar 2012 12:02:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symbiotix.net: Wherein We Muse Over a Case Study of a One Day Wordpress-to-Drupal Conversion]]></title>
      <guid>http://www.phpdeveloper.org/news/13853</guid>
      <link>http://www.phpdeveloper.org/news/13853</link>
      <description><![CDATA[<p>
In <a href="http://symbiotix.net/articles/wherein-we-muse-over-case-study-one-day-wordpress-drupal-conversion">this new post</a> to Symbiotix.net they take a look at a migration they made taking their site and content over from a WordPress installation into a new Drupal site.
</p>
<blockquote>
We've been running a small educational non-profit - <A href="http://edulogos.org/">Edulogos</a> - for over three years now. Until recently edulogos.org has been little more than a <a href="http://wordpress.com/">Wordpress</a> blog with a few extra pages and an off the shelf theme. [...] We decided it was high time to redesign the site and move it over to <a href="http://drupal.org/">Drupal</a> to give it room to grow. Like repotting a plant. "Liefde en substral", as they used to say in our home country.
</blockquote>
<p>
They talk about the planning stages of the move - what version control they were going to use, which Drupal modules they were going to install - and walk you through the installation and configuration process step by step. They used git and <a href="http://github.com/">github</a> as their chosen method for deploying the site</a>.
</p>]]></description>
      <pubDate>Fri, 15 Jan 2010 13:09:58 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Tiffany Brown's Blog: Collecting e-commerce conversion data with Zen Cart and Google Analytics]]></title>
      <guid>http://www.phpdeveloper.org/news/11983</guid>
      <link>http://www.phpdeveloper.org/news/11983</link>
      <description><![CDATA[<p>
<i>Tiffany Brown</i> has <A href="http://tiffanybbrown.com/2009/02/19/zen-cart-and-google-analytics/">a new post</a> today showing how you can gather some statistics about the (successful) use of your e-commerce Zen Cart website with the help of <a href="http://google.com/analytics">Google Analytics</a>.
</p>
<blockquote>
<a href="http://google.com/analytics">Google Analytics</a> allows you to collect pretty robust data about how users move through your e-commerce site. Here's how to make it work with <a href="http://www.zen-cart.com/">Zen Cart</a>, an open source shopping cart.
</blockquote>
<p>
You'll need to already have a Google Analytics account set up for the application, a Zen Cart instance installed and have at least a passing knowledge with using PHP and MySQL. There's two steps to the process - a creation of a custom functions file (code provided) and a modification to two other files (the checkout success page and global footer) to send additional information to the Analytics service.
</p>]]></description>
      <pubDate>Thu, 19 Feb 2009 11:18:38 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Tilllate.com Blog: tilllate.com is now all Zend Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/10222</guid>
      <link>http://www.phpdeveloper.org/news/10222</link>
      <description><![CDATA[<p>
The tilllate.com blog has a <a href="http://techblog.tilllate.com/2008/05/20/tilllatecom-is-now-all-zend-framework/">new post</a> about a milestone in their development process - the removal of two old legacy components with ones from the Zend Framework making it running 100% on the Framework code.
</p>
<blockquote>
The <a href="http://ch.tilllate.com/EN/photoalbum/overview/specialgroup/5/#p1">gallery</a> and the <a href="http://ch.tilllate.com/EN/register/now/user/">user registration</a>. The whole site <a href="http://www.tilllate.com/">tilllate.com</a> is now running on <a href="http://techblog.tilllate.com/2008/01/07/trevi-is-online/?PHPSESSID=22d92c09c3c325daf461641658099489">Trevi</a>, our extension of Zend Framework. With a reach of 2.5 million unique clients a month, tilllate.com is one of the world's biggest installation of Zend Framework.
</blockquote>
<p>
They <a href="http://techblog.tilllate.com/2008/05/20/tilllatecom-is-now-all-zend-framework/">talk about</a> the two upgraded parts of their older system - the move up to the Zend_Db database abstraction layer and a change to use <a href="http://en.wikipedia.org/wiki/Memoization">memoization</a> in the Zend_Date and Zend_Config components.
</p>]]></description>
      <pubDate>Tue, 20 May 2008 10:28:28 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Andrei Zmievski's Blog: 50% There]]></title>
      <guid>http://www.phpdeveloper.org/news/6945</guid>
      <link>http://www.phpdeveloper.org/news/6945</link>
      <description><![CDATA[<p>
<i>Andrei Zmievski</i> has posted an <a href="http://www.gravitonic.com/blog/archives/000305.html">encouraging note</a> on his blog about the progress of PHP6 concerning the number of functions that have been correctly converted to support Unicode.
</p>
<blockquote>
Well, PHP boys and girls, this feels like quite a milestone: 50% of the 3084 functions that are bundled with PHP 6 have been upgraded to support and work safely with Unicode.
</blockquote>
<p>
He <a href="http://www.gravitonic.com/blog/archives/000305.html">includes a small chart</a> beside the post as well showing where things are currently at like the safe vs unsafe functions.
</p>]]></description>
      <pubDate>Wed, 20 Dec 2006 08:08:02 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sara Golemon's Blog: PHP6: News from the front...]]></title>
      <guid>http://www.phpdeveloper.org/news/6350</guid>
      <link>http://www.phpdeveloper.org/news/6350</link>
      <description><![CDATA[<p>
<i>Sara Golemon</i> brings us some <a href="http://blog.libssh2.org/index.php?/archives/38-PHP6-News-from-the-front....html">news from the front</a> about PHP6 in her latest blog entry today.
</p>
<blockquote>
While everyone else has been busily gearing up for the release of PHP 5.2 and the new features that are going to come with it, <a href="http://www.gravitonic.com/">Andrei</a> and his small band of merry babelonians (yours truly included) have been making inroads on preparing PHP6 for a preview release. In the past week we've managed to <a href="http://www.php.net/~scoates/unicode">roughly double</a> the number of builtin functions (those which are part of the main distribution) that have been reviewed for unicode safety, either flagging them as good or upgrading their functionality
</blockquote>
<p>
She <a href="http://blog.libssh2.org/index.php?/archives/38-PHP6-News-from-the-front....html">also talks about</a> what kinds of functions this entailed and how far along they are total (around 22%). She also encourages anyone that wants to get involved to help to jump right in.
</p>]]></description>
      <pubDate>Tue, 26 Sep 2006 07:16:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Hot PHP UTF-8 tips]]></title>
      <guid>http://www.phpdeveloper.org/news/6005</guid>
      <link>http://www.phpdeveloper.org/news/6005</link>
      <description><![CDATA[<p>
Following up on some of his previous posts to the SitePoint PHP Blog, <i>Harry Fuecks</i> has posted <a href="http://www.sitepoint.com/blogs/2006/08/10/hot-php-utf-8-tips/">this quick guide</a> with some "hot UTF-8 tips" to share with the community.
</p>
<blockquote>
As a result of all the <a href="http://www.sitepoint.com/blogs/2006/08/09/scripters-utf-8-survival-guide-slides/">noise about UTF-8</a>, got an email from Marek Gayer with some very smart tips on handling UTF-8. What follows is a discussion illustrating what happens when you get obsessed with performance and optimizations (be warned - may be boring, depending on your perspective).
</blockquote>
<p>
He <a href="http://www.sitepoint.com/blogs/2006/08/10/hot-php-utf-8-tips/">talks mainly</a> about using the native PHP functionality to avoid the mbstring issues that could arise by restricting locale behavior and using a fast case conversion function to handle strings correctly. The other tip involves delivery methods to those not able to recieve UTF-8 formatted content - checking their character set and responding accordingly.
</p>]]></description>
      <pubDate>Thu, 10 Aug 2006 14:50:03 -0500</pubDate>
    </item>
  </channel>
</rss>
