<?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, 21 May 2013 01:55:16 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Rob Allen: Simple logging of ZF2 exceptions]]></title>
      <guid>http://www.phpdeveloper.org/news/19507</guid>
      <link>http://www.phpdeveloper.org/news/19507</link>
      <description><![CDATA[<p>
In <a href="http://akrabat.com/zend-framework-2/simple-logging-of-zf2-exceptions/">this new post to his site</a> <i>Rob Allen</i> shows you how to implement a simple logging method for catching exceptions in your Zend Framework 2 application.
</p>
<blockquote>
I recently had a problem with a ZF2 based website where users were reporting seeing the error page displayed, but I couldn't reproduce in testing. To find this problem I decided to log every exception to a file so I could then go back and work out what was happening. In a standard ZF2 application, the easiest way to do this is to add a listener to the 'dispatch.error' event and log using ZendLog.
</blockquote>
<p>
He uses an event listener to attach a service that contains a "logException" method. This method uses the ZendLog component to write out the error message to a local log file including a backtrace of where the issue occurred.
</p>
Link: http://akrabat.com/zend-framework-2/simple-logging-of-zf2-exceptions]]></description>
      <pubDate>Thu, 25 Apr 2013 10:31:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Systems Architect: Performance benchmark of popular PHP frameworks]]></title>
      <guid>http://www.phpdeveloper.org/news/19502</guid>
      <link>http://www.phpdeveloper.org/news/19502</link>
      <description><![CDATA[<p>
On his site today <i>Lukasz Kujawa</i> has a post that <a href="http://systemsarchitect.net/performance-benchmark-of-popular-php-frameworks/">compares some performance benchmarks</a> of several popular PHP frameworks including Slim, CodeIgniter, Laravel, Symfony2 and Zend Framework 2.
</p>
<blockquote>
There are many assumptions around performance of different PHP frameworks. I frequently hear strong opinions about superiority X over Y in this context. There are companies writing new PHP frameworks from scratch because available solutions are too slow for them. What does it really mean? Does the framework performance matters? Before answering this questions lets check how slow is your framework!
</blockquote>
<p>
He took the "quick start" projects provided for each of the examples and ran some tests with the Apache Benchmark (ab) tool against EC2 instances, all configured the same way. The results weren't overly surprising with Slim beating the others hands down (it's a micro-framework after all) and Kohana and CodeIgniter coming in second and third. The frameworks with more overhead like Zend Framework and Symfony ranked some of the slowest. 
</p>
Link: http://systemsarchitect.net/performance-benchmark-of-popular-php-frameworks]]></description>
      <pubDate>Wed, 24 Apr 2013 12:04:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[7PHP.com: Zend Certifications Tips & Tricks - Hear It From Zend Certified Engineer Eric Hogue]]></title>
      <guid>http://www.phpdeveloper.org/news/19492</guid>
      <link>http://www.phpdeveloper.org/news/19492</link>
      <description><![CDATA[<p>
On 7PHP.com there's a new post that interviews a PHP community member, <i>Eric Hogue</i>, about <a href="http://7php.com/zend-certification-advice-eric-hogue/">his experience with the Zend Certified Engineer exam</a>.
</p>
<blockquote>
This is the 3rd set of <a href="http://7php.com/category/zend-certification-tips/">Zend Certification Tips and Advice</a> to help anyone taking either of the two Zend Exams powered by <a href="http://en.wikipedia.org/wiki/Zend_Technologies">Zend Technologies</a>: the Zend PHP Certification Exam and/or the Zend Framework Certification Exam. The aim being to help people who want to sit for those exams and inform them what it is all about & what to expect by <a href="http://7php.com/category/expert-php-advice/">hearing it from (pro) PHP Guys</a> who have already been through it, that is => Hear It From Zend Certified Engineers!
</blockquote>
<p>
He starts off with some general questions to <i>Eric</i> about the exam and its structure and how he prepared himself for it. He mentions some of the resources he used to study and what kind of topics to pay attention to. There's also a few quotes included at the end giving <a href="http://penguindreams.org/blog/disappointe-with-zends-php5-certification">another perspective</a> on the exam (specifically, some frustrations).
</p>
Link: http://7php.com/zend-certification-advice-eric-hogue]]></description>
      <pubDate>Mon, 22 Apr 2013 12:16:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Vance Lucas: Valitron: The Simple Validation Library That Doesn't Suck]]></title>
      <guid>http://www.phpdeveloper.org/news/19272</guid>
      <link>http://www.phpdeveloper.org/news/19272</link>
      <description><![CDATA[<p>
<i>Vance Lucas</i> has created a "<a href="http://www.vancelucas.com/blog/valitron-the-simple-validation-library-that-doesnt-suck/">validation library that dosen't suck</a>" and posted about it to his site - his <a href="https://github.com/vlucas/valitron">Valitron</a> library.
</p>
<blockquote>
<a href="https://github.com/vlucas/valitron">Valitron</a> is a simple, minimal and elegant stand-alone PHP validation library with NO dependencies. Valitron uses simple, straightforward validation methods with a focus on readable and concise syntax.
</blockquote>
<p>
He created the library because of frustration with other tools that had (sometimes major) dependencies on other packages. All he wanted was something lightweight and easy to use that was flexible about how it handled its validation rules. <a href="https://github.com/vlucas/valitron">Valitron</a> lets you apply a validation (like "required") against multiple fields in the provided data and includes checks for things like length, valid IP, active URL, alpha-numeric, date format and regular expression match. You can also add custom validation rules via a callback/closure.
</p>]]></description>
      <pubDate>Tue, 05 Mar 2013 11:43:24 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Simplifying Test Data Generation with Faker]]></title>
      <guid>http://www.phpdeveloper.org/news/19203</guid>
      <link>http://www.phpdeveloper.org/news/19203</link>
      <description><![CDATA[<p>
In a new post to PHPMaster.com today, <i>Rakhitha Nimesh</i> <a href="http://phpmaster.com/simplifying-test-data-generation-with-faker/">takes a look at Faker</a>, a tool that can be used to generate random test case data as a part of your workflow.
</p>
<blockquote>
Testing is an iterative part of the development process that we carry out to ensure the quality of our code. A large portion of this entails writing test cases and testing each unit of our application using random test data. Actual data for our application comes in when we release it to production, but during the development process we need fake data similar to real data for testing purposes. The popular open source library Faker provides us with the ability to generate different data suitable for a wide range of scenarios.
</blockquote>
<p>
Faker uses built-in data providers like "Person", "Company", "DateTime" and "UserAgent" to give you randomized output from the data sets you define. Code is included showing how to create the provider in your objects, extending the correct provider and making a request for a property. A real-world example is also included about testing an email marketing engine for address, title, name and content. There's also a little bit added at the end showing how you can increase the randomness of the results returned by "seeding" the Faker engine.
</p>]]></description>
      <pubDate>Tue, 19 Feb 2013 12:09:02 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[7PHP.com: Zend Certification Tips & Tricks, Hear It From Zend Certified Engineer Lorna Jane Mitchell]]></title>
      <guid>http://www.phpdeveloper.org/news/19163</guid>
      <link>http://www.phpdeveloper.org/news/19163</link>
      <description><![CDATA[<p>
7PHP.com has posted a new article where they asked <i>Lorna Mitchell</i> for <a href="http://7php.com/zend-certification-advice-lorna-mitchell/">some of her advice</a> for those wanting to take the Zend Certified Engineer exam, including what the test is like and how you can prepare effectively.
</p>
<blockquote>
This is the 2nd set of <a href="http://7php.com/category/zend-certification-tips/">Zend Certification Tips and Advice</a> to help anyone taking either of the two Zend Exams powered by <a href="http://en.wikipedia.org/wiki/Zend_Technologies">Zend Technologies</a>: the Zend PHP Certification Exam and/or the Zend Framework Certification Exam. The aim being to help people who want to sit for those exams and inform them what it is all about & what to expect by <a href="http://7php.com/category/expert-php-advice/">hearing it from (pro) PHP Guys</a> who have already been through it, that is => Hear It From Zend Certified Engineers!
</blockquote>
<p>
They start with a little background on her and her experience with PHP and get quickly into the questions about the exam. Topics include things like:
</p>
<ul>
<li>What the test is about and hopes to achieve
<li>Some things you can do to prepare
<li>A recommendation to make the most of your time exploring topics you might be weak in
<li>Whether or not the ZCE training classes help in the learning process
</ul>
<p>
You can read the rest of the interview <a href="http://7php.com/zend-certification-advice-lorna-mitchell/">here</a>.
</p>]]></description>
      <pubDate>Mon, 11 Feb 2013 10:26:42 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP.net: PHP 5.5.0 Alpha4 released]]></title>
      <guid>http://www.phpdeveloper.org/news/19083</guid>
      <link>http://www.phpdeveloper.org/news/19083</link>
      <description><![CDATA[<p>
On PHP.net today they've announced the tagging and release of the latest alpha for the PHP 5.5.0 series - <a href="http://php.net/archive/2013.php#id2013-01-24-1">PHP 5.5.0 alpha4</a>:
</p>
<blockquote>
The PHP development team announces the release of PHP 5.5.0alpha4. This release fixe some bugs from alpha3 and add some new features. All users of PHP are encouraged to test this version carefully, and report any bugs in the <a href="https://bugs.php.net/">bug tracking system</a>.
</blockquote>
<p>
There's new improvements included in this <b>non-production</b> release including class name resolution with "class" keyword and the DateTimeImmutable class. You can see the <a href="https://github.com/php/php-src/blob/php-5.5.0alpha4/NEWS">NEWS</a> file for the complete list of changes. If you'd like to help test it out, you can <a href="http://downloads.php.net/dsp">download the preview release here</a> (or <a href="http://windows.php.net/qa/">here</a> for Windows users).
</p>]]></description>
      <pubDate>Thu, 24 Jan 2013 09:29:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP.net: PHP 5.5.0 Alpha2 released]]></title>
      <guid>http://www.phpdeveloper.org/news/18957</guid>
      <link>http://www.phpdeveloper.org/news/18957</link>
      <description><![CDATA[<p>
If you'd like to help with testing for the upcoming PHP 5.5.0 version, they've <a href="http://php.net/index.php#id2012-12-21-1">announced the release of the latest alpha</a> on the PHP.net site, ready for download and test execution.
</p>
<blockquote>
The PHP development team announces the immediate availability of PHP 5.5.0alpha2. This release adds new features and fix some bugs from alpha1. All users of PHP are encouraged to test this version carefully, and report any bugs in <a href="https://bugs.php.net/">the bug tracking system</a>.
</blockquote>
<p>
You can see the full list of the changes in 5.5.0 (so far) in the <a href="https://github.com/php/php-src/blob/php-5.5.0alpha2/NEWS">NEWS</a> file including things like using <a href="http://php.net/empty">empty</a> on return values, enabling systemtap by default for dtrace probes and optimized variable accessing. They need your help to make this upcoming release even better, so if you'd like to help out and test, go <a href="http://downloads.php.net/dsp">grab the download</a> (<a href="http://windows.php.net/qa/">Windows builds</a>).
</p>]]></description>
      <pubDate>Thu, 27 Dec 2012 10:22:13 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage: Effective Refactoring Strategies]]></title>
      <guid>http://www.phpdeveloper.org/news/18943</guid>
      <link>http://www.phpdeveloper.org/news/18943</link>
      <description><![CDATA[<p>
In a recent post to his site, <i>Brandon Savage</i> has <a href="http://www.brandonsavage.net/effective-refactoring-strategies/">a few helpful hints</a> to keep in mind when you're refactoring your applications to make them easier to maintain (and possibly perform better) in the future.
</p>
<blockquote>
The downtime [of this week] provides a perfect opportunity for the aspiring software developer to do the one thing they are always told there's no time to do: make the code better for better's sake. With few deadlines and plenty of free time, most developers can get a few hours of refactoring in to their code towards the end of the year. They can rearchitect sections that were implemented with haste in September; they can write tests for sections that were untested in April. Put another way, the "lost week" can be redeemed.
</blockquote>
<p>He has a few recommendations, each including their own brief summary:</p>
<ul>
<li>Test Everything First
<li>One Method, One Job (Also One Class, One Job)
<li>Don't Be Afraid Of More Objects And Classes
<li>Remove Dead, Unused, Unnecessary or Old Code
<li>Document Your Code
</ul>
<p>
Check out the <a href="http://www.brandonsavage.net/effective-refactoring-strategies/">full post</a> for the summaries and links to other useful resources.
</p>]]></description>
      <pubDate>Mon, 24 Dec 2012 11:24:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara: Designing An API: Simplified Password Hashing]]></title>
      <guid>http://www.phpdeveloper.org/news/18768</guid>
      <link>http://www.phpdeveloper.org/news/18768</link>
      <description><![CDATA[<p>
A while back <i>Anthony Ferrara</i> proposed a standardized password hashing feature to be included into the core of PHP. It was <a href="https://wiki.php.net/rfc/password_hash">voted on</a> and it was decided it would be introduced in the PHP 5.5 releases. <i>Anthony</i> has <a href="http://blog.ircmaxell.com/2012/11/designing-api-simplified-password.html">written up a new post</a> talking some about his process in making this upcoming feature and answering some of the most common questions he's gotten about it.
</p>
<blockquote>
The other day, <a href="http://www.php.net/archive/2012.php#id2012-11-15-1">PHP 5.5 Alpha 1</a> was released to the public for the first round of testing the new features that are coming out. One of those new features is the <a href="https://wiki.php.net/rfc/password_hash">Simplified Password Hashing API</a> that I proposed (and was accepted). I have received a lot of feedback and criticism of the new API in the months since it's been committed. I figured now that Alpha 1 is out and people can play with it, I should respond to some of those items, and give a little bit more insight into why it was built the way it was...
</blockquote>
<p>
He talks about some of his goals with the use of the functionality (simplicity, something "the 99%" can use) ans answers questions about:
</p>
<ul>
<li>Why the functions aren't namespaced
<li>Why it's not just a class that can be included when needed
<li>The choice of not going with an OOP interface
<li>Why PBKDF2 and Crypt-SHA-512 aren't supported
</ul>
<p>
...and several other questions, but you'll have to <a href="http://blog.ircmaxell.com/2012/11/designing-api-simplified-password.html">read the full post</a> for the rest of those. You can find out a lot about the API for this functionality from <a href="https://wiki.php.net/rfc/password_hash">its wiki page</a> and, if you'd like to try it out (in an alpha state), you can <a href="http://www.php.net/archive/2012.php#id2012-11-15-1">download this version of PHP</a> and compile it yourself.
</p>]]></description>
      <pubDate>Mon, 19 Nov 2012 12:42:22 -0600</pubDate>
    </item>
  </channel>
</rss>
