<?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, 18 Jun 2013 18:01:28 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: Trying out PHP Refactoring Browser]]></title>
      <guid>http://www.phpdeveloper.org/news/19490</guid>
      <link>http://www.phpdeveloper.org/news/19490</link>
      <description><![CDATA[<p>
On DZone.com <i>Giorgio Sironi</i> has written up a post about <a href="http://css.dzone.com/articles/trying-out-php-refactoring">some testing he's done</a> with the ""PHP Refactoring Browser" (more on that <a href="http://phpdeveloper.org/news/19424">here</a>) on some basic code examples.
</p>
<blockquote>
IDE proponents love, in fact, an Integrated Development Environment that provides all the functionalities you need while writing and editing code; the followers of the Unix way typically write code in Vim while augmenting it via plugins where feasible and leveraging external tools that <a href="http://en.wikipedia.org/wiki/Unix_philosophy">do one thing, and do it well</a>. [...] Automated refactorings in PHP were out of the league of Vim and Unix users; thanks to Qafoo, however, a new open source tool is able to edit code with predefined refactoring recipes: PHP Refactoring Browser.
</blockquote>
<p>
He goes through some of the basic features and functionality of the browser, setting expectations a bit. He shows how to get it installed (via Composer) and the results of some of his testing. Rather than including them all in the post, he opted to <a href="https://github.com/giorgiosironi/prb-example/commits/master">make actual commits on github</a> of the changes.
</p>
Link: http://css.dzone.com/articles/trying-out-php-refactoring]]></description>
      <pubDate>Mon, 22 Apr 2013 10:03:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[QaFoo.com: PHP Refactoring Browser Alpha Release]]></title>
      <guid>http://www.phpdeveloper.org/news/19424</guid>
      <link>http://www.phpdeveloper.org/news/19424</link>
      <description><![CDATA[<p>
On the QaFoo blog today the company is introducing a new tool to help PHP developers write better, more optimized code - the <a href="http://qafoo.com/blog/041_refactoring_browser.html">PHP Refactoring 
Browser</a> (written in PHP too).
</p>
<blockquote>
Without continuous refactoring, code maintainability and extensibility will start to decrease fast, even if it has tests. Until now, only IDEs contained functionality to perform automated refactorings. And then even only PHPStorm contains the most important refactorings such as "extract method". Today we release the <a href="https://github.com/QafooLabs/php-refactoring-browser">PHP Refactoring Browser</a>, a refactoring tool written completely in PHP. It is based on several outstanding open-source libraries.
</blockquote>
<p>
The browser currently supports multiple refactoring methods including the extract method, renaming of local variables and converting a local variable to an instance. They include some example code and the result from the execution of the tool. The output shows where refactoring would work best with some color coding and formatting. 
</p>
<p>
You can find more about this new tool over <a href="https://github.com/QafooLabs/php-refactoring-browser">on its github repository</a>.
</p>
Link: http://qafoo.com/blog/041_refactoring_browser.html]]></description>
      <pubDate>Mon, 08 Apr 2013 09:49:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gareth Heyes: Bypassing XSS Auditor]]></title>
      <guid>http://www.phpdeveloper.org/news/19209</guid>
      <link>http://www.phpdeveloper.org/news/19209</link>
      <description><![CDATA[<p>
<i>Gareth Heyes</i> has <a href="http://www.thespanner.co.uk/2013/02/19/bypassing-xss-auditor/">posted about some bypasses</a> that he's found for getting around the XSS Auditor functionality in some browsers:
</p>
<blockquote>
I had a look at XSS Auditor for a bit of fun because Mario said it's getting harder to bypass. Hmmm I don't agree. I seem to remember the same flaws are present from the last time I checked it with a little variation. It is also a very limited XSS filter not supporting detection of script based attacks (very common). 
</blockquote>
<p>
He includes three of his own bypasses - using a "formaction" on the submit input in a form, using "target" to override the iframe external resource restriction and the injection of a specially placed anchor tag. Each of these comes with a proof-of-concept example and another is <a href="http://pastebin.com/7jU4yhs9">also included</a> courtesy of <i>Mario Heiderich</i>.
</p>]]></description>
      <pubDate>Wed, 20 Feb 2013 11:21:29 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[QaFoo: Code Review Tool]]></title>
      <guid>http://www.phpdeveloper.org/news/18695</guid>
      <link>http://www.phpdeveloper.org/news/18695</link>
      <description><![CDATA[<p>
On the QaFoo site they've <a href="http://qafoo.com/blog/027_code_review_tool.html">shared a tool they use</a> for doing code reviews in a new post to their blog. The tool, just called <a href="http://github.com/Qafoo/review">review</a>, lets you run several different metrics on the code including the PHP "mess detector", PDepend and PHPCPD (copy & paste detector).
</p>
<blockquote>
We, at <a href="http://qafoo.com/">Qafoo</a>, do Code Reviews quite often together with our customers. This often focusses on dicussing metrics, browsing the associated code and discussing solutions for the issues found. We started using a bunch of shell scripts for that, like everyone else, but at some point we came up with a webinterface to do this in a more comfortable way. Now we want to share this tool with you.
</blockquote>
<p>
Included in the post are <a href="http://qafoo.com/blog/027_code_review_tool.html">several screenshots</a> showing the results of the different types of evaluations - the ones mentioned above as well as things like "methods per class", cyclomatic complexity and NPath complexity. There's also a source code browser and a visual class structure generation tool (UML). It's under a AGPLv3 license and can be found <a href="http://github.com/Qafoo/review">on their site</a>.
</p>]]></description>
      <pubDate>Mon, 05 Nov 2012 09:41:16 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: How to Use Selenium 2 With PHPUnit]]></title>
      <guid>http://www.phpdeveloper.org/news/18604</guid>
      <link>http://www.phpdeveloper.org/news/18604</link>
      <description><![CDATA[<p>
NetTuts.com has continued their look at testing in PHP applications with <a href="http://net.tutsplus.com/tutorials/php/how-to-use-selenium-2-with-phpunit/">this new screencast</a> showing how to combine one of the most popular PHP unit testing tools, <a href="http://phpunit.de">PHPUnit</a>, with the <a href="http://seleniumhq.org/">Selenium</a> frontend testing tool for automated application testing.
</p>
<blockquote>
In this lesson, we will learn how to work with <a href="http://seleniumhq.org/">Selenium 2</a> directly within PHPUnit. For those unfamiliar, Selenium gives us an easy way to automate the browser. This makes it perfect for writing user acceptances tests.
</blockquote>
<p>
You can <a href="http://nettuts.s3.amazonaws.com/2134_PHPUnit_With_Selenium/seleniumTut.zip">download the source</a> for the files and tests that they use in the demo. You can find links to the other articles in their testing series <a href="http://net.tutsplus.com/sessions/test-driven-php/">here</a> (covering things like TDD, basic PHPUnit testing and definitions of some of the most common testing terms).
</p>]]></description>
      <pubDate>Mon, 15 Oct 2012 09:40:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Henry Hayes' Blog: Zend Framework UserAgent Browscap Implementation]]></title>
      <guid>http://www.phpdeveloper.org/news/18117</guid>
      <link>http://www.phpdeveloper.org/news/18117</link>
      <description><![CDATA[<p>
<i>Henry Hayes</i> has a recent post to his blog looking at a <a href="http://www.websitefactors.co.uk/zend-framework/2012/06/zend-framework-useragent-browscap-implementation/">the change for the user agent support</a> for the browser detection functionality in the Zend Framework.
</p>
<blockquote>
Recently it has come to light that Zend Framework are dropping support for the <a href="http://www.websitefactors.co.uk/php/2012/06/zend-useragent-wurfl-explained/">WurflApi Features Adapter</a> in the <a href="http://framework.zend.com/manual/en/zend.http.user-agent.html">Zend_Http_UserAgent</a> component. This is due to licensing issues. As of version 1.12 Zend_Http_UserAgent_Mobile constant DEFAULT_FEATURES_ADAPTER_CLASSNAME now specifies that Zend_Http_UserAgent_Features_Adapter_Browscap is now the <a href="http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Http/UserAgent/Mobile.php">default mobile adapter</a>.
</blockquote>
<p>
He shows you how to get the <a href="http://browsers.garykeith.com/downloads.asp">browscap support</a> set up and configured for your PHP installation and what needs to be done to a pre-1.12 ZF release application (using <a href="http://code.google.com/p/yinyang/">this library</a>) and in a post-1.12 application (almost nothing).
</p>]]></description>
      <pubDate>Wed, 20 Jun 2012 10:55:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Oliver John Tibi's Blog: Mobile-ize Your CakePHP Application]]></title>
      <guid>http://www.phpdeveloper.org/news/17281</guid>
      <link>http://www.phpdeveloper.org/news/17281</link>
      <description><![CDATA[<p>
In a new post to his blog, <i>Oliver John Tibi</i> has the first part of a series looking at <a href="http://tibi.ph/posts/view/mobile-ize_your_cakephp_app_part_1">mobile-izing your CakePHP application</a>, making it mobile friendly when a mobile browser is detected.
</p>
<blockquote>
I'll be writing a short series of posts on how to create a mobile version of your CakePHP app. I've always been bragging to my peers how awesome CakePHP is, and so now I'm writing a short tutorial on how to create a mobile-friendly version of a CakePHP app. I promise to make this as easy as possible. 
</blockquote>
<p>
In this first part of the series he helps you do two things - set up some custom routes for the mobile version of the site ("/m") and add in browser detection using the RequestHandler's "isMobile()" method.
</p>]]></description>
      <pubDate>Tue, 20 Dec 2011 09:11:10 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Lately in PHP podcast episode 17 - PHP 5.4 & PHP-GTK in the Browser]]></title>
      <guid>http://www.phpdeveloper.org/news/17063</guid>
      <link>http://www.phpdeveloper.org/news/17063</link>
      <description><![CDATA[<p>
On PHPClasses.org today they've released their <a href="http://www.phpclasses.org/blog/post/163-PHP-54-Release-Date-PHPGTK-Apps-Running-on-a-Web-Browser--Lately-in-PHP-podcast-episode-17.html">latest episode</a> of their "Lately In PHP" podcast - episode #17. In this new episode <i>Manuel</i> and <i>Ernani</i> talk about PHP-GTK in a web browser and the proposed PHP 5.4 release date.
</p>
<blockquote>
PHP 5.4 beta 2 was just released, so the final version of 5.4.0 is coming soon. Many PHP Developers want to know when it will be the final PHP 5.4 release date. Manuel Lemos and Ernani Joppert talk about this and other interesting PHP related topics in episode 17 of the Lately in PHP podcast.
</blockquote>
<p>
You can listen to this latest episode either through the <a href="http://www.phpclasses.org/blog/post/163-PHP-54-Release-Date-PHPGTK-Apps-Running-on-a-Web-Browser--Lately-in-PHP-podcast-episode-17.html">in-page player</a>, by <a href="http://www.phpclasses.org/blog/post/163/file/95/name/Lately-In-PHP-17.mp3">downloading the full mp3</a> or by <a href="http://www.phpclasses.org/blog/category/podcast/post/latest.rss">subscribing to their feed</a> to get this and past episodes (including ones about <a href="http://modx.com/">MODX</a> and <a href="https://phpfog.com/">PHPFog</a>).
</p>]]></description>
      <pubDate>Mon, 31 Oct 2011 12:50:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Anson Cheung's Blog: Optimize Web Site Performance by using YSlow]]></title>
      <guid>http://www.phpdeveloper.org/news/16940</guid>
      <link>http://www.phpdeveloper.org/news/16940</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Anson Cheung</i> guides you through another tool that can help you optimize your web applications - <a href="http://www.ansoncheung.tk/articles/optimize-web-site-performance-using-yslow">using YSlow for the frontend</a> to detect trouble spots early (whether they're actually caused by the frontend or not).
</p>
<p>
He goes through the thirteen rules to help improve your website's performance including:
</p>
<ul>
<li>Make fewer HTTP requests
<li>Gzip components
<li>Make JS and CSS external
<li>Remove duplicate scripts
<li>Configure ETags
</ul>
<p>
For more information about the YSlow extension (available for Firefox, Chrome, Opera and mobile devices), check out the <a href="http://developer.yahoo.com/yslow/">project's page</a> on Yahoo's Developer section (including ten more rules it checks).
</p>]]></description>
      <pubDate>Mon, 03 Oct 2011 11:12:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: CakePHP - Web Test Cases with SimpleTest]]></title>
      <guid>http://www.phpdeveloper.org/news/16826</guid>
      <link>http://www.phpdeveloper.org/news/16826</link>
      <description><![CDATA[<p>
On DZone.com today there's a new post written up by <i>Mike Bernat</i> about <a href="http://css.dzone.com/news/cakephp-web-test-cases">making web test cases for CakePHP</a> applications with <a href="http://www.simpletest.org/">SimpleTest</a>.
</p>
<blockquote>
Most of the applications I work on have very straight-forward components and not a lot of complex functions/methods. I would only be testing whether or not they worked at all, rather than if they worked in a wide-array of situations. [...] For example, unit-testing a simple news list and detail page is probably overkill. Sure, you can test your classes by simple instantiating them but that only goes so far. My new method involves using SimpleTest's Scriptable Browser to actually crawl webpages and ensure that the proper data is being displayed.
</blockquote>
<p>
He includes a few snippets of code to show how to implement SimpleTest's web test functionality - one that just checks a HTTP response values, another that checks for text on the page, one testing for a login on an admin page and a test for add/edit pages to ensure valid loading based on URLs/links.
</p>]]></description>
      <pubDate>Wed, 07 Sep 2011 10:08:24 -0500</pubDate>
    </item>
  </channel>
</rss>
