<?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>Thu, 24 May 2012 10:07:39 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Mayflower Blog: Zend Framework Application.ini Cheat Sheet]]></title>
      <guid>http://www.phpdeveloper.org/news/17501</guid>
      <link>http://www.phpdeveloper.org/news/17501</link>
      <description><![CDATA[<p>
On the Mayflower blog today there's a new post sharing a Zend Framework <a href="http://blog.mayflower.de/archives/828-Zend-Framework-application.ini-Cheat-Sheet.html">application.ini "cheat sheet"</a> with links to pages in the ZF manual explaining the details about each of the front controller options.
</p>
<blockquote>
All this is long gone in the past since the introduction of Zend_Application and the bootstrapping resource adapters. Zend introduced a standard bootstrapping mechanism into their framework. Many of the options from different framework components can now be configured in the applications configuration file application.ini. One problem persists although: the documentation. All the parameters for components like View, Session, Database etc. are documented either with the bootstrap resource, the component itself or both.
</blockquote>
<p>
They've <a href="https://github.com/feibeck/application.ini">posted it to github</a> complete with sections detailing:
</p>
<ul>
<li>CacheManager
<li>Db
<li>FrontController
<li>Layout
<li>Navigation
<li>Router
<li>Translate
</ul>
<p>
...and quite a few more. This is a great reference for anyone using the Zend Framework, no matter your experience level.
</p>]]></description>
      <pubDate>Mon, 06 Feb 2012 11:42:22 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ryan Gantt's Blog: Anonymous recursion in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16705</guid>
      <link>http://www.phpdeveloper.org/news/16705</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Ryan Gantt</i> looks at an interesting way to get around a limitation in PHP dealing with <a href="http://zuttonet.com/articles/anonymous-recursion-php/">anonymous recursion and closures</a> that throws a Fatal error when called.
</p>
<blockquote>
Turns out that variables called as functions must be an instance of Closure, an instance of a class which implements __invoke(), or a string representing a named function in the global namespace. In the anonymous function body above, $fibonacci is none of these. It is an undeclared, free variable in the closure created by the anonymous function. At the time when it's called, it hasn't been bound-hence the Notice that you would have gotten if error reporting were set at a high enough threshold - and therefore can't be called as anything, let alone as a function.
</blockquote>
<p>
He tried using the "use" functionality PHP closures have to bring a variable/object/etc into the scope of the running function, but it still threw an error. As it turns out, the combination of "use"-ing the object and calling it by reference handles things correctly. He takes this method and applies it in two examples - one call in an <a href="http://php.net/array_map">array_map</a> function and another in an <a href="http://php.net/array_reduce">array_reduce</a>.
</p>]]></description>
      <pubDate>Thu, 11 Aug 2011 10:55:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: PHP Quick Reference]]></title>
      <guid>http://www.phpdeveloper.org/news/16152</guid>
      <link>http://www.phpdeveloper.org/news/16152</link>
      <description><![CDATA[<p>
On DZone.com today there's a new post from <i>Chris Shiflett</i> sharing some <a href="http://css.dzone.com/news/php-quick-reference">timeless advice</a> from an older copy of a <a href="http://shiflett.org/blog/2009/aug/php-quick-reference">PHP Quick Reference</a> (published in 2009) about performance and security.
</p>
<blockquote>
While cleaning out my desk, I found an old copy of a PHP Quick Reference I helped make a few years ago. On the front page are a few performance and security tips that I thought I'd share. (Performance tips are from George Schlossnagle.)
</blockquote>
<p>
Performance tips include profile early/profile often, cache when possible and don't over-optimize. The security hints include some of the usual suspects - trust nothing, filter input/escape output and use prepared statements.
</p>]]></description>
      <pubDate>Wed, 06 Apr 2011 08:34:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Giorgio Sironi's Blog: The PHPUnit Refcard is out]]></title>
      <guid>http://www.phpdeveloper.org/news/15432</guid>
      <link>http://www.phpdeveloper.org/news/15432</link>
      <description><![CDATA[<p>
Unit testing fans will be happy to know that a <a href="http://refcardz.dzone.com/refcardz/phpunit-php-test-driven?oid=hom31523">Refcard from DZone</a> has been published (authored by <i>Giorgio Sironi</i>) so you can keep PHPUnit at your fingertips.
</p>
<blockquote>
Do you occasionally forget the syntax for creating Mocks and Stubs in PHPUnit? Or wonder how a command line option work? Or if there is an assertion that may be perfect for the test you're writing? Then this Refcard can help you. The Refcard is a PDF cheatsheet of 6 pages, which interleaves code samples with explaining test and sample outputs. Getting to know PHPUnit to use it at its full potential will be a little easier now.
</blockquote>
<p>
You can check out the contents of the refcard <a href="http://refcardz.dzone.com/refcardz/phpunit-php-test-driven?oid=hom31523">on the DZone site</a> or <a href="http://refcardz.dzone.com/assets/request/refcard/31523?oid=hom31523&uid=0">download a PDF</a> to make it all your own.
</p>]]></description>
      <pubDate>Mon, 15 Nov 2010 11:58:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: Collecting Garbage: PHP's take on variables]]></title>
      <guid>http://www.phpdeveloper.org/news/15049</guid>
      <link>http://www.phpdeveloper.org/news/15049</link>
      <description><![CDATA[<p>
<i>Derick Rethans</i> is republishing an article series he wrote (originally for <a href="http://phparch.com">php|architect</a>) about the garbage collection that is included with the PHP 5.3 releases. He kicks off the series with <a href="http://derickrethans.nl/collecting-garbage-phps-take-on-variables.html">this first post</a> introducing internal variable handling.
</p>
<blockquote>
Before we start with the intricate details of PHP's new GC engine I will explain why it is actually needed. This, combined with an introduction how PHP deals with variables in general is explained in this first part of the column. The second part will cover the solution and some notes on the GC mechanism itself, and the third part covers some implications of the GC mechanism, as well as some benchmarks. But now first on to the introduction.
</blockquote>
<p>
He introduces the concept of a "zval" - the container PHP uses internally to handle variables (along with its "is_ref" and "refcount" to tell the interpreter if it's a reference or not). He also shows how these relate to the variables you set in your applications as well as a mention of the <a href="http://www.xdebug.org/docs/all_functions#xdebug_debug_zval">xdebug_debug_zval</a> function of XDebug to show how it's handled behind the scenes. He also shows how references are handled with accompanying images to show the flow. If you'd like more information on variable handling, <i>Derick</i> points to <a href="http://derickrethans.nl/files/phparch-php-variables-article.pdf">this article</a> for more detail.
</p>]]></description>
      <pubDate>Tue, 31 Aug 2010 10:49:11 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: SQL Server Driver for PHP Cheat Sheet]]></title>
      <guid>http://www.phpdeveloper.org/news/14120</guid>
      <link>http://www.phpdeveloper.org/news/14120</link>
      <description><![CDATA[<p>
Following in the steps of some of <a href="http://www.phpdeveloper.org/news/14015">his</a> <a href="http://www.phpdeveloper.org/news/14059">previous</a> <a href="http://www.phpdeveloper.org/news/13999">posts</a> looking at the combination of PHP and SQL Server, <i>Brian Swan</i> has a new post to his MSDN blog today - a <a href="http://blogs.msdn.com/brian_swan/archive/2010/03/02/sql-server-driver-for-php-cheat-sheet.aspx">SQL Server driver cheat sheet</a>.
</p>
<blockquote>
You might think that I would know the driver API by heart at this point, but alas, my many trips back to the <a href="http://msdn.microsoft.com/en-us/library/ee229548(SQL.10).aspx">documentation</a> are proof that my brain is like a fixed length queue - if something new goes in, something else must go out. So, I've created a cheat sheet that saves me some of those trips to the documentation. I'm hoping that others might find it helpful too
</blockquote>
<p>
He mentions a few things that make the sheet particularly useful - signatures for the functions are included but not the type info for the parameters, a list of PHPTYPE constants, FETCH constants (for the return type) and CURSOR constants (for defining cursor return type). You can see a preview of it <a href="http://blogs.msdn.com/blogfiles/brian_swan/WindowsLiveWriter/SQLServerDriverforPHPCheatSheet_7AA5/SQLPHPCheatSheet_thumb.png">here (as a PNG)</a> and grab the actual sheet <a href="http://blogs.msdn.com/brian_swan/attachment/9971608.ashx">here as a PDF</a>.
</p>]]></description>
      <pubDate>Wed, 03 Mar 2010 09:14:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Chris Shiflett's Blog: PHP Quick Reference]]></title>
      <guid>http://www.phpdeveloper.org/news/13009</guid>
      <link>http://www.phpdeveloper.org/news/13009</link>
      <description><![CDATA[<p>
<i>Chris Shiflett</i>, after finding an old reference guide, has decided to <a href="http://shiflett.org/blog/2009/aug/php-quick-reference">share a few helpful hints</a> from the guide to help you in your development.
</p>
<blockquote>
While cleaning out my desk, I found an old copy of a PHP Quick Reference I helped make a few years ago. On the front page are a few performance and security tips that I thought I'd share. (Performance tips are from George Schlossnagle.)
</blockquote>
<p>
The tips include topics like caching, using external data sources, filtering input using prepared statements and using pre-existing solutions before just rolling your own.
</p>]]></description>
      <pubDate>Fri, 07 Aug 2009 07:57:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: The symfony Reference Guide: The new book about symfony]]></title>
      <guid>http://www.phpdeveloper.org/news/12962</guid>
      <link>http://www.phpdeveloper.org/news/12962</link>
      <description><![CDATA[<p>
The Symfony blog has <a href="http://www.dzone.com/links/rss/naked_objects_in_php.html">a new post</a> letting you know that the latest version of their guide to the framework - "The Symfony 1.2 Reference Guide" - has been released.
</p>
<blockquote>
The symfony Reference Guide book is now available. As always, you can <a href="http://www.symfony-project.org/reference/1_2/en/">read</a> the online version right now for free, or buy the <a href="http://www.amazon.com/gp/product/2918390054?ie=UTF8&tag=symfonyprojec-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=2918390054">printed</a> version. At only $19.90, it is also a great way to donate to the symfony project. [...] This is a book you will keep with you whenever you develop with symfony. This book is the fastest way to find every available configuration thanks to a very detailed table of contents, an index of terms, cross-references inside the chapters, tables, and much more.
</blockquote>
<p>
This book joins <a href="http://www.symfony-project.org/blog/2009/06/02/books-on-symfony">others about the framework</a> including "Practical Symfony", "The Guide to Doctrine 1.0" and "Symfony : Mieux developper en PHP avec Symfony 1.2 et Doctrine".
</p>]]></description>
      <pubDate>Wed, 29 Jul 2009 12:16:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Mark van der Velden's Blog: PHP Quiz part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/12514</guid>
      <link>http://www.phpdeveloper.org/news/12514</link>
      <description><![CDATA[<p>
<i>Mark van der Velden</i> has posted <a href="http://blog.dynom.nl/archives/PHP-Quiz-part-2_20090514_27.html">another PHP quiz</a> you can used to test your knowledge of the language:
</p>
<blockquote>
A short quiz this time, but that doesn't make it less fun. Do you know the answer to all of them? Get a cup of coffee and kill 10 minutes with round two... As always, think of the answer before you execute the code or look it up. You can find round one <a href="http://blog.dynom.nl/archives/PHP-Quiz-part-1_20080424_23.html">here</a>.
</blockquote>
<p>
This one has questions on arrays, ArrayAccess, references, operator precedence and nesting structures. There's no answer key, so you'll just have to test it out if you want to see the answer.
</p>]]></description>
      <pubDate>Thu, 14 May 2009 12:05:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[ITJOBLOG: Zend Server and how PHP sidled into the Enterprise]]></title>
      <guid>http://www.phpdeveloper.org/news/12419</guid>
      <link>http://www.phpdeveloper.org/news/12419</link>
      <description><![CDATA[<p>
On the ITJOBLOG a <a href="http://www.itjoblog.co.uk/2009/04/zend-server-and-how-php-sidled.html">recent post</a> takes a look at how PHP has "sidled into the Enterprise" with the help of Zend and <a href="http://www.zend.com/products/server/">Zend Server</a>.
</p>
<blockquote>
Zend is flourishing despite the recession - "the Q1 of 2009 has been our strongest quarter ever," says Suraski - and although PHP's enterprise market share is small compared to Java or .NET, it is growing. [...] What interests me is why this has happened. [...] More directly important though is that the community using PHP - the large area of non-paying users in Suraski's slide - has created a remarkable pool of resources on the Internet that is available to everyone, business users included. Non-commercial users are those most likely to share their knowledge, unfettered by concerns over business confidentiality or copyright.
</blockquote>
<p>
He notes that, upon sitting down and developing a small PHP application, every problem he encountered was easily remedied by either a Google search, a message board or in the PHP manual - "I don't mean to belittle the extent of online resources available to Java or .NET developers, but would argue that PHP has the edge here."
</p>]]></description>
      <pubDate>Tue, 28 Apr 2009 12:06:58 -0500</pubDate>
    </item>
  </channel>
</rss>

