<?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>Tue, 22 May 2012 12:09:38 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Evert Pot's Blog: Numeric string comparison in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16249</guid>
      <link>http://www.phpdeveloper.org/news/16249</link>
      <description><![CDATA[<p>
In <a href="http://www.rooftopsolutions.nl/blog/numeric-string-comparison-in-php">this new post</a> to his blog <i>Evert Pot</i> reminds you (the PHP developer) about the loose and strict typing checks that you need to do when checking the values of your variables and never just assume. PHP's loose typing tendencies can cause issues if you're not paying attention.
</p>
<blockquote>
As long as you make sure you always use strict checking (=== and !==) where you can, and fall back to the loose checks when you must. As a PHP developer, I think it's very important to understand and memorize exactly how these work, whether you're writing new code, or maintaining existing code.
</blockquote>
<p>
He points out a specific example of some code that seems counter-intuitive when you compare how it reads and how it actually works (strings converted to floats and evaluated)
</p>
<blockquote>
The moral is: always do strict checks when you are able to.
</blockquote>]]></description>
      <pubDate>Tue, 26 Apr 2011 09:23:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Fabien Potencier's Blog: Iterator or IteratorAggregate?]]></title>
      <guid>http://www.phpdeveloper.org/news/14705</guid>
      <link>http://www.phpdeveloper.org/news/14705</link>
      <description><![CDATA[<p>
Following up on two <a href="http://fabien.potencier.org/article/43/find-your-files">previous</a> <a href="http://fabien.potencier.org/article/45/iterator-or-iteratoraggregate">posts</a> about iterators, <i>Fabien Potencier</i> is back with one more quick shot on iterator aggregation - a look what using <a href="http://fabien.potencier.org/article/45/iterator-or-iteratoraggregate">iterator versus iteratoraggregate</a>.
</p>
<blockquote>
If you have ever used iterators in your code, you have probably implemented the Iterator interface. Objects of a class that implements Iterator  can be iterated over with the foreach loop. [...] The IteratorAggregate interface is quite similar [to Iterator] (both interfaces implement Traversable) but creates an external Iterator. But when the iterator is based on an array, creating an external Iterator for this array gives you a more concise and more readable code.
</blockquote>
<p>
His example code shows how, in implementing and IteratorAggregate, you can grab the instance of the Iterator even if it's based on an array.
</p>]]></description>
      <pubDate>Fri, 25 Jun 2010 12:09:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Giorgio Sironi's Blog: Java versus PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14364</guid>
      <link>http://www.phpdeveloper.org/news/14364</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Giorgio Sironi</i> has a (more balanced) comparison of <a href="http://giorgiosironi.blogspot.com/2010/04/java-versus-php.html?">Java versus PHP</a> that them on topics like how they handle typing and their execution models.
</p>
<blockquote>
If you exclude C and its child C++, the <a href="http://langpop.com/">most popular programming languages</a> in the world are Java and PHP, which power most of the dynamic web. I have working experience with PHP and for academical purposes I am deepening my knowledge of Java, thus I'd like to point out similarities and key differences between these two languages. Every language has its pros and cons, so there's no absolute winner here.
</blockquote>
<p>
He briefly covers their history, java's static versus PHP's dynamic typing, how they both handle objects, their execution plans and how easy they are to deploy when it comes to general applications.
</p>]]></description>
      <pubDate>Fri, 16 Apr 2010 10:55:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPSlices.com: PHP 5.3 vs ASP.NET 4.0 neutral comparison]]></title>
      <guid>http://www.phpdeveloper.org/news/14280</guid>
      <link>http://www.phpdeveloper.org/news/14280</link>
      <description><![CDATA[<p>
In a recent post to the phpslices.com blog there's a <a href="http://phpslices.com/2010/03/11/php-5-3-vs-asp-net-4-0-neutral-comparison/">neutral comparison</a> of PHP and ASP.NET based on features and a few of the common pros and cons each language has.
</p>
<blockquote>
Consider i do not have wide experience programming with ASP.NET though i on the past used the Microsoft .NET framework.
This is what i think are PRO and the CONS of both, lets consider ASP.NET 4.0 without MVC and PHP 5.3 without any framework.
</blockquote>
<p>
Some of the pros of PHP include its low learning curve and that it's multiplatform with cons being things like performance issues and that it's more web-centric than some other languages. ASP.NET's pros include its inherent use of the .NET framework and the tools available for it with cons being that it's not Open Source, you need a Windows license to use it and that fewer web hosting providers support it.
</p>]]></description>
      <pubDate>Thu, 01 Apr 2010 08:35:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: mssql vs. sqlsrv: What's the Difference? (Part 1) ]]></title>
      <guid>http://www.phpdeveloper.org/news/14160</guid>
      <link>http://www.phpdeveloper.org/news/14160</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Brian Swan</i> <a href="http://blogs.msdn.com/brian_swan/archive/2010/03/08/mssql-vs-sqlsrv-what-s-the-difference-part-1.aspx">compares the database drivers for MSSQL and SQLSRV</a> by what they have to offer and what the real differences are to your applications.
</p>
<blockquote>
In this post I want to begin looking at some of the differences between the two drivers and perhaps gain an understanding of why the mssql driver continues to be used (although I have some good guesses). There are lots of comparison points between the mssql and sqlsrv  drivers. I'll break my comparison into two posts, focusing on high-level differences in this post and then dive into an API comparison in the next post.
</blockquote>
<p>
This <a href="http://blogs.msdn.com/brian_swan/archive/2010/03/08/mssql-vs-sqlsrv-what-s-the-difference-part-1.aspx">first of the two parts</a> looks at some of the differences between the two - the Microsoft support for the sqlsrv driver vs community-driven mssql and the fact that they're very different "under the hood" (see <a href="http://blogs.msdn.com/blogfiles/brian_swan/WindowsLiveWriter/mssqlvs.sqlsrvWhatstheDifferencePart1_AFBA/image_12.png">this diagram</a>).
</p>
]]></description>
      <pubDate>Wed, 10 Mar 2010 09:09:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matt Butcher's Blog: A Set of Objects in PHP: Arrays vs. SplObjectStorage]]></title>
      <guid>http://www.phpdeveloper.org/news/12720</guid>
      <link>http://www.phpdeveloper.org/news/12720</link>
      <description><![CDATA[<p>
The Standard PHP Library offers PHP developers some excellent tools that, in some cases, can make quite a bit of performance difference than some of their normal counterparts in the rest of the language. In <a href="http://technosophos.com/content/set-objects-php-arrays-vs-splobjectstorage">this post</a> from <i>Matt Butcher</i>, two features are compared - normal arrays and the SplObjectStorage feature of the SPL.
</p>
<blockquote>
One of my projects, <a href="http://querypath.org/">QueryPath</a>, performs many tasks that require maintaining a set of unique objects. In my quest to optimize QueryPath, I have been looking into various ways of efficiently storing sets of objects in a way that provides expedient containment checks. [...] Recently I narrowed the list of candidates down to two methods: Use good old fashioned arrays to emulate a hash set or use the SPLObjectStorage system present in PHP 5.2 and up.
</blockquote>
<p>
He <a href="http://technosophos.com/content/set-objects-php-arrays-vs-splobjectstorage">works through the comparison</a>, showing how each of them can emulate the hashed set with the goal of being able to easily iterate and simple to search. The result is that PHP's normal arrays best the SplObjectStorage object in his benchmarking (code included).
</p>]]></description>
      <pubDate>Fri, 19 Jun 2009 13:46:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Paul Reinheimer's Blog: Stop Messing up CSRF Protection]]></title>
      <guid>http://www.phpdeveloper.org/news/11374</guid>
      <link>http://www.phpdeveloper.org/news/11374</link>
      <description><![CDATA[<p>
In <a href="http://blog.preinheimer.com/index.php?/archives/283-Stop-Messing-up-CSRF-Protection.html">his latest post</a> <i>Paul Reinheimer</i> looks at cross-site request forgeries and, despite the best efforts of the PHP security community, how developers still just miss the point in protecting their own code.
</p>
<blockquote>
So, cross site request forgeries are a pretty common topic these days; they're in almost every security talk, book, site etc. This is okay; they're important [...] Most of the sites, and all of the books I've read demonstrate things correctly, but when it comes to actual implementation, time and time again, I see code that's just wrong.
</blockquote>
<p>
He looks at two of the "essentials" when it comes to protecting you and your application - comparison (not taking other values of variables into account) and the unpredictable token (not making tokens, like md5 hashes of information, random enough).
</p>]]></description>
      <pubDate>Mon, 10 Nov 2008 08:47:53 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Tobias Schlitt's Blog: Funny speed considerations]]></title>
      <guid>http://www.phpdeveloper.org/news/8757</guid>
      <link>http://www.phpdeveloper.org/news/8757</link>
      <description><![CDATA[<p>
<i>Tobias Schlitt</i> <a href="http://schlitt.info/applications/blog/index.php?/archives/565-Funny-speed-considerations.html">offers a helpful hint or two</a> for "speeding up" your application in the form of comparison operators.
</p>
<blockquote>
The fact that type save comparisons (ala ===) are faster in PHP than the normal comparison operator (ala ==). The reason for this is simply, that PHPs loosly-typed-ness-auto-cast-code is not even touched with ===
</blockquote>
<p>
He also points out an interesting condition that saves a bit of computing time - comparing the isset() of a variable to true over the count() to zero. Some of his <a href="http://schlitt.info/misc/bench_res.txt">benchmarking</a> (<a href="http://schlitt.info/misc/bench.txt">code</a>) shows this in action.
</p>]]></description>
      <pubDate>Mon, 01 Oct 2007 12:04:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Release - HTML Purifier 2.0.0]]></title>
      <guid>http://www.phpdeveloper.org/news/8141</guid>
      <link>http://www.phpdeveloper.org/news/8141</link>
      <description><![CDATA[<p>
As <a href="http://devzone.zend.com/article/2209-HTML-Purifier-2.0.0-released">pointed out</a> by the Zend Developer Zone and <a href="http://shiflett.org/blog/2007/jun/html-purifier">several</a> <a href="http://blog.astrumfutura.com/archives/295-html-Purifier-2.0.0-new-version-of-the-PHP-html-filter-library.html">other</a> blogs/community sites lately, the latest version of the HTML filter <a href="http://htmlpurifier.org/">HTML Purifier</a> has been released - version 2.2.0.
</p>
<blockquote>
Because it uses whitelists and a comprehensive knowledge of the HTML specification, it is bullet-proof against XSS, fixes malformed input rather than reject it, and is open and extensible. The <a href="http://htmlpurifier.org/news/2.0.0-released.html">2.0.0 release</a> lets users customize HTML Purifier's tag sets easier than ever before.
</blockquote>
<p>
You can check out the official <a href="http://htmlpurifier.org/news/2.0.0-released.html">release announcement</a> for of the updates in this release (including a <a href="http://htmlpurifier.org/comparison.html">comparison</a> to other similar libraries). There's also a <a href="http://htmlpurifier.org/demo.php">demo they've posted</a> so you can give it a try.
</p>]]></description>
      <pubDate>Thu, 28 Jun 2007 09:47:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[WebProNews.com: PHP Roadmap]]></title>
      <guid>http://www.phpdeveloper.org/news/5466</guid>
      <link>http://www.phpdeveloper.org/news/5466</link>
      <description><![CDATA[<p>
On WebProNews.com a <a href="http://www.webpronews.com/expertarticles/expertarticles/wpn-62-20060526PHPRoadmap.html">PHP roadmap</a> has been posted - a comprehensive look at what PHP is and how it's evolved.
</p>
<quote>
<i>
We expect our readers to have a more than firm handle on what PHP is, but for completeness-sake: PHP (a recursive acronym of PHP: Hypertext Pre-processor) is an open source, server-side web-scripting language for creating dynamic pages. 
</i>
</quote>
<p>
They <a href="http://www.webpronews.com/expertarticles/expertarticles/wpn-62-20060526PHPRoadmap.html">look first</a> at what PHP has to offer, then how it's evolved, and finally a comparison of PHP to several other langauges, including Perl, Java, and Cold Fusion.
</p>]]></description>
      <pubDate>Mon, 29 May 2006 18:44:07 -0500</pubDate>
    </item>
  </channel>
</rss>

