<?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>Sat, 25 May 2013 04:02:04 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Christopher Martinez: Static code analysis tools for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19563</guid>
      <link>http://www.phpdeveloper.org/news/19563</link>
      <description><![CDATA[<p>
<I>Christopher Martinez</i> has a recent post to his site that covers some of the <a href="http://chrsm.org/2013/05/05/code-analysis-tools-for-php">static analysis tools available for PHP</a> including the PHP Mess Detector, PHP CodeSniffer and the PHP Analyzer.
</p>
<blockquote>
I believe in writing code that is easy to understand, easy to test, and easy to refactor. Yes, I realize that the statement above is pretty general and open to interpretation. Not everyone needs external tools to ensure quality in their code...but, I work on things from time to time that have absolutely no tests. [...] For whatever reason, this happens a lot more frequently in the PHP world. I'm guilty of not writing tests and checking how I write code, sometimes, too. Things are bright, though, for the PHP community - for quite some time now, we've had fantastic tools that assist us in writing better code. 
</blockquote>
<p>
He covers each of the tools, talks some about what they're good for and gives examples of their use, including output. He also talks some about the <a href="https://github.com/facebook/pfff">Pfff</a> set of tools created by Facebook. He also talks some about how these tools fit into his daily work as a part of his pre-commit hooks in git.
</p>
Link: http://chrsm.org/2013/05/05/code-analysis-tools-for-php]]></description>
      <pubDate>Wed, 08 May 2013 12:38:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: PHPHint.org - Online PHP Code Analysis]]></title>
      <guid>http://www.phpdeveloper.org/news/18332</guid>
      <link>http://www.phpdeveloper.org/news/18332</link>
      <description><![CDATA[<p>
<i>Klaus Silveira</i> has submitted a project he's come up with to help PHP developers detect problems in their code via a web-based application - <a href="http://phphint.org">PHPHint.org</a>.
</p>
<blockquote>
<p>
PHPHint is a community-driven, quick and easy to use, online tool that analyzes your PHP code and looks for potential errors, lack of <a href="http://paul-m-jones.com/archives/2420">best practices</a> and <a href="http://en.wikipedia.org/wiki/Code_smell">code smell</a>. It also allows you to clean your code automagically.
</p>
<p>
It was created to spread the work about the PSR standards and the PHP-FIG group, the importance of getting rid of code smell and applying to standards.
</p>
</blockquote>
<p>
Since it is an open source project, you can <a href="https://github.com/klaussilveira/PHPHint">help contribute</a> if you'd like to see improvements to the service. It's great that it takes the relatively new PSR standards (<a href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md">PSR-1</a> & <a href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md">PSR-2</a>) into account when analyzing the code too.
</p>]]></description>
      <pubDate>Wed, 08 Aug 2012 10:18:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell's Blog: PHP Static Analysis Tool Usage]]></title>
      <guid>http://www.phpdeveloper.org/news/16668</guid>
      <link>http://www.phpdeveloper.org/news/16668</link>
      <description><![CDATA[<p>
In an informal poll <i>Lorna Mitchell</i> recently asked fellow developers to weigh in on what static analysis tool they used on their code. She's <a href="http://www.lornajane.net/posts/2011/PHP-Static-Analysis-Tool-Usage">posted the results</a> to her blog today with one of the tools being a clear winner.
</p>
<blockquote>
My interest was mostly because I'm working on a book chapter which includes some static analysis content, and there are a couple of these tools that I include in my own builds, but I don't do much with the output of them. However I didn't want to drop anything from the chapter if it was actually a valuable tool and I was just missing the point - pretty much all the tools got a good number of votes though, so I'll be covering all of the [options].
</blockquote>
<p>
According to <a href="http://www.flickr.com/photos/lornajane/5993620876/">her results</a>, the most used tool by developers is the <a href="http://pear.php.net/package/php_codesniffer">PHP_CodeSniffer</a> with the <a href="http://phpmd.org/">PHP Mess Detector</a> and <a href="https://github.com/sebastianbergmann/phpcpd">PHP Copy & Paste Detector</a> tied for second place.
</p>]]></description>
      <pubDate>Wed, 03 Aug 2011 10:50:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gonzalo Ayuso's Blog: Performance analysis fetching data with PDO and PHP.]]></title>
      <guid>http://www.phpdeveloper.org/news/16106</guid>
      <link>http://www.phpdeveloper.org/news/16106</link>
      <description><![CDATA[<p>
<i>Gonzalo Ayuso</i> has a new post to his blog today with the results of some <a href="http://gonzalo123.wordpress.com/2011/03/28/performance-analysis-fetching-data-with-pdo-and-php/">performance analysis</a> he ran when fetching data with PHP and PDO.
</p>
<blockquote>
Fetching data from databases is a common operation in our work as developers. There are many drivers (normally I use PDO), but the usage of all of them are similar and switch from one to another is not difficult (they almost share the same interface). In this post I will focus on fetching data.
</blockquote>
<p>
He includes his sample scripts - one using just fetch() and the other using fetchAll() - that include some timing and memory checking logic and includes the results of his "limit 10000" queries from his tables. Not surprisingly, the fetchAll required more memory than the fetch call. Event changing it to a loop of fetch() methods results in about the same amount of memory as a fetchAll.
</p>]]></description>
      <pubDate>Mon, 28 Mar 2011 08:12:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gonzalo Ayuso's Blog: Performance analysis using bind parameters with PDO and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/15235</guid>
      <link>http://www.phpdeveloper.org/news/15235</link>
      <description><![CDATA[<p>
<i>Gonzalo Ayuso</i> has <a href="http://gonzalo123.wordpress.com/2010/10/05/performance-analysis-using-bind-parameters-with-pdo-and-php/">posted the results</a> of some performance testing he did with bind parameters in a PDO-based request for his application.
</p>
<blockquote>
Some months ago a work mate asked me for the differences between using bind variables versus executing the SQL statement directly as a string throughout a PDO connection. Basically the work-flow of almost all database drivers is the same: Prepare statement, execute and fetch results. [...] What's the best one? Both method work properly. The difference is how databases manage the operation internally.
</blockquote>
<p>
He gives two code examples, one with the bind parameters and one without, and the benchmark code he used to generate his statistics. It uses a PDO connection to execute several statements in a row both with bind parameters and without, measuring the time (with <a href="http://php.net/microtime">microtime</a>) and outputting the results. His results show that while the simple update is faster, the bind parameter method has the added benefit of reusability for multiple queries.
</p>]]></description>
      <pubDate>Wed, 06 Oct 2010 08:57:02 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Etienne Kneuss' Blog: Dataflow Type Analysis for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/13842</guid>
      <link>http://www.phpdeveloper.org/news/13842</link>
      <description><![CDATA[<p>
<i>Etienne Kneuss</i> has <a href="http://www.colder.ch/news/01-13-2010/37/dataflow-type-analysis-fo.html">posted about</a> a dataflow type analysis tools he's created that models code as <a href="http://en.wikipedia.org/wiki/Control_flow_graph">control flow graphs</a>.
</p>
<blockquote>
It will assign types and let them flow through control structures. When reaching stability, it will check that the operations done of the values are sound type-wise. It will also do some structural checks.
</blockquote>
<p>
There's some more technical details <a href="http://project.colder.ch/report.pdf">here</a> and a presentation <a href="http://github.com/colder/phpanalysis/raw/master/presentation/presentation12.01.10.pdf">here</a> but if you want to get at the code, you can grab it off of <a href="http://github.com/colder/phpanalysis">the project's github page</a>.
</p>]]></description>
      <pubDate>Thu, 14 Jan 2010 11:32:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Blue Parabola Blog: Magento Feature Analysis Series]]></title>
      <guid>http://www.phpdeveloper.org/news/13675</guid>
      <link>http://www.phpdeveloper.org/news/13675</link>
      <description><![CDATA[<p>
In case you missed the whole series of posts that <i>Matthew Turland</i> did on the Magento e-Commerce platform, he's <a href="http://blueparabola.com/blog/magento-feature-analysis-series">summed them all up</a> in a new post to the Blue Parabola blog.
</p>
<blockquote>
The new kid on the PHP e-commerce block, <a href="http://www.magentocommerce.com/">Magento</a>, has gotten a good amount of attention leading up to and since its initial release. Earlier this year, I was entasked with doing an analysis of <a href="http://www.magentocommerce.com/product/features">its features</a> and thought it might make for an interesting series of blog posts. What you see here is the result. Comments are welcome, thanks in advance for your contribution.
</blockquote>
<p>
Topics in the series covered the <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-3-catalog-catalog-browsing-offering">catalog browsing</a>, <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-6-customer-service-offering">customer service</a>, <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-9-shipping-offering">shipping</a> and <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-11-search-engine-optimization-offering">SEO</a> features the popular software has to offer.
</p>]]></description>
      <pubDate>Tue, 15 Dec 2009 09:56:56 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Blue Parabola Blog: Magento Feature Analysis Series, Part 12: International Support Offering]]></title>
      <guid>http://www.phpdeveloper.org/news/13284</guid>
      <link>http://www.phpdeveloper.org/news/13284</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> is back with episode twelve of his "Magento Feature Analysis" series on the Blue Parabola blog. In <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-12-international-support-offering">this new article</a> he focuses on the Internationalization support the popular e-commerce tool includes.
</p>
<p>The list of features includes:</p>
<ul>
<li>Multi-Lingual support
<li>Tax Rate Support
<li>Localization
<li>Configurable List of Allowed Countries
</ul>
<p>
You can find more in this series <a href="http://blueparabola.com/category/general/magento">in this section</a> of the BP blog and more about Magento from <a href="http://www.magentocommerce.com/">its website</a>.
</p>]]></description>
      <pubDate>Fri, 25 Sep 2009 08:28:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Blue Parabola Blog: Magento Feature Analysis Series, Part 11: Search Engine Optimization Offering]]></title>
      <guid>http://www.phpdeveloper.org/news/13247</guid>
      <link>http://www.phpdeveloper.org/news/13247</link>
      <description><![CDATA[<p>
<i>Matt Turland</i> has posted <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-11-search-engine-optimization-offering">his latest part</a> of his in-depth look at <a href="http://www.magentocommerce.com/">Magento</a> to the Blue Parabola blog - a look at the search engine optimization features (this is the eleventh part, you can catch up on other parts <a href="http://blueparabola.com/category/general/magento">here</a>).
</p>
<p>
This time he's focusing on the built-in search functionality with topics like:
</p>
<ul>
<li>100% Search Engine Friendly
<li>URL Rewrites give full control of URLs
<li>Auto-generated Site Map for display on site
<li>Auto-Generated Popular Search Terms Page
</ul>
<p>
Other parts in this great series cover things like the checkout functionality, shipping features, order management and catalog/product browsing features. Check out them all for some <a href="http://blueparabola.com/category/general/magento">more great content</a> on this popular e-commerce platform.
</p>]]></description>
      <pubDate>Fri, 18 Sep 2009 09:27:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Blue Parabola Blog: Magento Feature Analysis Series, Part 8: Payment Offering]]></title>
      <guid>http://www.phpdeveloper.org/news/13200</guid>
      <link>http://www.phpdeveloper.org/news/13200</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> has posted <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-8-payment-offering">the eighth part</a> of his detailed series looking at the feature set that the <a href="http://www.magentocommerce.com/">Magento</a> e-commerce software has to offer to the Blue Parabola blog. This new post looks at the "payment offering" features.
</p>
<p>Features mentioned in this post include:
<ul>
<li>Customer Store Credits Feature
<li>Integrated with Amazon Payments
<li>Gift Certificates/Cards (Physical and Virtual)
<li>Integrated with Google Checkout
<li>Accept Purchase Orders
<li>Payment Extensions Available through Magento Connect
</ul>
<p>
Check out <a href="http://blueparabola.com/blog/magento-feature-analysis-series-part-8-payment-offering">the full post</a> for more and descriptions of each.
</p>]]></description>
      <pubDate>Thu, 10 Sep 2009 10:11:19 -0500</pubDate>
    </item>
  </channel>
</rss>
