<?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 15:33:49 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: How to use built-in SPL exception classes for better error handling]]></title>
      <guid>http://www.phpdeveloper.org/news/16310</guid>
      <link>http://www.phpdeveloper.org/news/16310</link>
      <description><![CDATA[<p>
On his blog today <i>Jani Hartikainen</i> looks at how you can <a href="http://codeutopia.net/blog/2011/05/06/how-to-use-built-in-spl-exception-classes-for-better-error-handling/">use the SPL exception types</a> to allow for better overall error handling in your application. Things like BadMethodCallException and OutOfBoundsException make the errors much more descriptive.
</p>
<blockquote>
Since PHP 5, there has been a bundle of built-in exceptions - the "SPL exceptions" - in PHP. However, the documentation for these classes is quite lacking in examples, and it can be difficult to understand when you should be using them. The short answer is always. 
</blockquote>
<p>The list of exception types he recommends include:</p>
<ul>
<li>BadMethodCallException
<li>DomainException
<li>LengthException
<li>OutOfRangeException
<li>UnexpectedValueException
</ul>
<p>
For each he gives an example usage of it, sometimes including a bit of code to illustrate. 
</p>]]></description>
      <pubDate>Mon, 09 May 2011 08:47:12 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: What you must know about PHP errors...]]></title>
      <guid>http://www.phpdeveloper.org/news/16001</guid>
      <link>http://www.phpdeveloper.org/news/16001</link>
      <description><![CDATA[<p>
<i>Giorgio Sironi</i> has a new post to the DZone.com Web Builder Zone today giving a high-level guide to some of the <a href="http://css.dzone.com/articles/what-you-must-know-about-php">PHP errors you could encounter</a> in your development time.
</p>
<blockquote>
While pure object-oriented languages produces mainly exceptions to signal an error, PHP started out as procedural and so it has a wide range of errors that can be raised along with exceptions.
</blockquote>
<p>He talks about a few of the most common error related issues:</p>
<ul>
<li>Exceptions
<li>Errors
<li>Error Types (E_NOTICE, E_PARSE, etc.)
<li>php.ini directives
<li>PHP functions for setting error handlers
</ul>]]></description>
      <pubDate>Fri, 04 Mar 2011 13:15:06 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ralph Schindler's Blog: Exception Best Practices in PHP 5.3]]></title>
      <guid>http://www.phpdeveloper.org/news/15140</guid>
      <link>http://www.phpdeveloper.org/news/15140</link>
      <description><![CDATA[<p>
<i>Ralph Schindler</i> has <a href="http://ralphschindler.com/2010/09/15/exception-best-practices-in-php-5-3">put together a new post</a> for his blog about some of the best practices for using exceptions in PHP 5.3 - specifically dealing with some of the new functionality that comes with this latest PHP version.
</p>
<blockquote>
Exception handling in PHP is not a new feature by any stretch. In this article, we'll discuss two new features in PHP 5.3 based around exceptions. The first is nested exceptions and the second is a new set of exception types offered by the SPL extension (which is now a core extension of the PHP runtime). Both of these new features have found their way into the book of best best practices and deserve to be examined in detail.
</blockquote>
<p>
Some of the features he talks about were pre-PHP 5.3, but the focus is largely on these new features. He gives a bit of a background on exception handling in PHP and how custom exceptions could be thrown. He then moves on to the new features - first nesting exceptions and then some about the new core exception types (found <a href="http://us.php.net/manual/en/spl.exceptions.php">here</a>). All that being said, he includes some code to show the dynamic/logic/runtime exceptions in action including a look at best practices in library exception handling.
</p>]]></description>
      <pubDate>Thu, 16 Sep 2010 10:26:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jani Hartikainen's Blog: The three types of programmers]]></title>
      <guid>http://www.phpdeveloper.org/news/13041</guid>
      <link>http://www.phpdeveloper.org/news/13041</link>
      <description><![CDATA[<p>
In <a href="http://codeutopia.net/blog/2009/08/09/the-three-types-of-programmers/">this recent post</a> from <i>Jani Hartikainen</i> he looks at the three different categories he sees developers fitting into - "smart-and-get-things-done", smart and "just a" programmer.
</p>
<blockquote>
The other day I was thinking of programmer types. In a way, I think there are three kinds of programmers when looking at a high level [...] So how do you determine if a programmer goes into one of these categories?
</blockquote>
<p>
The "just a programmer" is the developer that writes code because it's a better job with little passion. The "smart programmer" are talented developers but they miss the big picture things. The "smart and get things done programmer" can be the most ideal of the three - they're the ones with the vision and passion to really make great applications.
</p>]]></description>
      <pubDate>Thu, 13 Aug 2009 14:48:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Chris Hartjes' Blog: What Is Really Considered Documentation?]]></title>
      <guid>http://www.phpdeveloper.org/news/10665</guid>
      <link>http://www.phpdeveloper.org/news/10665</link>
      <description><![CDATA[<p>
In <a href="http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/">this new post</a>, <i>Chris Hartjes</i> takes a look at something that is one of the banes of most programmers' existence - documentation. In it he wonders what should really be considered documentation and the importance of it.
</p>
<blockquote>
As a committed user of open source technologies, the difference between me using something and not using something is the documentation. Is there documentation for it? Is it easy to find? Does it answer my questions? Is there someone I can call an idiot if I disagree with the level of documentation? These are all very important questions. 
</blockquote>
<p>
He <a href="http://www.littlehart.net/atthekeyboard/2008/07/22/what-is-really-considered-documentation/">uses</a> the illustration of the documentation of the <a href="http://cakephp.org">CakePHP</a> framework that's helpful, but only really after you learn how to use the framework in the first place. He mentions people on both sides of the fence - those that love the framework and love the documentation and those that moved on to something simpler because they just couldn't get it.
</p>
<p>
He also mentions the variety of sources that can provide "documentation" for the framework when you're getting a bit stuck - everything from blogs to <a href="http://bakery.cakephp.org">The Bakery</a> to a different sort of documentation, unit test.
</p>]]></description>
      <pubDate>Wed, 23 Jul 2008 10:26:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Xaprb's Blog: Four types of database abstraction layers]]></title>
      <guid>http://www.phpdeveloper.org/news/6025</guid>
      <link>http://www.phpdeveloper.org/news/6025</link>
      <description><![CDATA[<p>
In <a href="http://www.xaprb.com/blog/2006/08/13/four-types-of-database-abstraction-layers/">this new posting</a> from <i>Xaprb</i>'s blog today, there's a look at four different types of database abstraction layers, each with their own unique strengths.
</p>
<blockquote>
Quite a few people have chimed in on a recent discussion about PHP, MySQL, database abstraction layers, and performance. I think enough viewpoints have been covered that I don't need to comment, but one question I don't see answered is "what are the qualities of a good SQL abstraction layer?" I think it's a very interesting - and complicated - question. As it turns out, the term has several meanings, and I think it's important to understand them.
</blockquote>
<p>
The four types he lists are:
<ul>
<li>Libraries that provide access to a database
<li>Libraries that present a common interface to different server software
<li>Libraries that write portable SQL
<li>Object-relational mapping software
</ul>
Each has their own description and example packages that show the strength. Following these notes, he <a href="http://www.xaprb.com/blog/2006/08/13/four-types-of-database-abstraction-layers/">shares some opinions</a> on each, mentioning his likes and dislikes about the state of support for them.
</p>]]></description>
      <pubDate>Mon, 14 Aug 2006 07:55:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: PHP Filtering with OWASP]]></title>
      <guid>http://www.phpdeveloper.org/news/5724</guid>
      <link>http://www.phpdeveloper.org/news/5724</link>
      <description><![CDATA[<p>
On PHPBuilder.com today, there's a <a href="http://www.phpbuilder.com/columns/ryan_mcgeehan20060627.php3">new tutorial</a> that looks at a method to protect your PHP applications with the filters the Open Web Application Security Project provides.
</p>
<blockquote>
<p>
OWASP (Open Web Application Security Project ) released a top ten list for web application security vulnerabilities in 2003 and 2004; you can find the latest information about their Top Ten Project <a href="http://www.owasp.org/index.php/OWASP_Top_Ten_Project">here</a>.
</p>
<p>
Most of the top ten vulnerabilities including (A1) Unvalidated Input, (A2) Broken Access Control, (A4) Cross Site Scripting (XSS) Flaws, and (A6) Injection Flaws, can be avoided by using these filters.
</p>
</blockquote>
<p>
They <a href="http://www.phpbuilder.com/columns/ryan_mcgeehan20060627.php3">walk through the installation</a> before talking about the types of filters at your disposal - paranoid, SQL, system, HTML, int/float, UTF-8, and LDAP. The check() function looks at the inputted value to see if it passes the test (the other option the function takes).
</p>
<p>
They also give an example of <a href="http://www.phpbuilder.com/columns/ryan_mcgeehan20060627.php3?page=2">combining filters</a> as well, making more secure validation even easier.
</p>]]></description>
      <pubDate>Thu, 29 Jun 2006 06:15:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: PHP to the Rescue!]]></title>
      <guid>http://www.phpdeveloper.org/news/5276</guid>
      <link>http://www.phpdeveloper.org/news/5276</link>
      <description><![CDATA[<p>
In his latest post on the SitePoint PHP Blog, <i>Harry Fuecks</i> <a href="http://www.sitepoint.com/blogs/2006/04/30/php-to-the-rescue/">has linked</a> to a rather long <a href="http://damienkatz.net/2006/04/error_code_vs_e.html">look at error codes and exceptions</a> in PHP, courtesy on <i>Damien Katz</i>.
</p>
<quote>
<i>
<p>
If you're looking for a thoughtful Saturday read, you won't go far wrong with <a href="http://damienkatz.net/2006/04/error_code_vs_e.html">Error codes or Exceptions? Why is Reliable Software so Hard?</a> by <a href="http://damienkatz.net/">Damien Katz</a>, which is worth it just for the visual interludes.
</p>
<p>
In fact it's less about error codes / exceptions and more about what you do when something does go wrong-how to you "bail out" of the mess you're in?
</p>
</i>
</quote>
<p>
There's a few different error handling types that <i>Damien</i> <a href="http://damienkatz.net/2006/04/error_code_vs_e.html">mentions</a>
</p>, including the "Get the Hell Out of Dodge" Error Handling, "Reverse the Flow of Time" Error Handling, and "Plan B" Error Handling as well as some suggestions to help you and your code cope.]]></description>
      <pubDate>Mon, 01 May 2006 07:34:45 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jim Plush's Blog: MyBic Goes Charitable - Work an hour for the kids]]></title>
      <guid>http://www.phpdeveloper.org/news/5235</guid>
      <link>http://www.phpdeveloper.org/news/5235</link>
      <description><![CDATA[<p>
After having his <a href="http://litfuel.net/mybic/">MyBic PHP/Ajax framework</a>, <i>Jim Plush</i> has decided to use some of this popularity to drive some charitable work for some underprivileged kids at a school that it wife works with. He specifically mentions some with more technology-related needs, such as a specialized left-handed keyboard.
</p>
<p>
So, how can I help, you ask yourself sitting there behind your keyboard? Well, it's simple, really - <i>Jim</i> has set up a <a href="http://www.cafepress.com/mybic">CafePress shop</a> with some great t-shirts for purchase - and 100% of the funds made from the shirts will go right back to the kids at the school. 
</p>
<p>
Slogans on the shirts include:
<li><a href="http://www.cafepress.com/mybic.55189254">"You're so Web 1.0"</a>
<li><a href="http://www.cafepress.com/mybic.55189256">"You should be tested for latency"</a>
<li><a href="http://www.cafepress.com/mybic.55189248">"I used XMLHttpRequest() when it was underground"
<li><a href="http://www.cafepress.com/mybic.55189249">"I was going to put a bunch of cool tech words on this shirt, but you wouldn't know them anyway"
</p>
<p>
When donations are made, the results of them will be shared with contributors via pictures of how they're actually helping.
</p>]]></description>
      <pubDate>Tue, 25 Apr 2006 07:05:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Justin Silverton's Blog:  patTemplate and php]]></title>
      <guid>http://www.phpdeveloper.org/news/4957</guid>
      <link>http://www.phpdeveloper.org/news/4957</link>
      <description><![CDATA[<i>Justin Silverton</i> has posted <a href="http://blinduser.blogspot.com/2006/03/pattemplate-and-php.html">this brief overview</a> of the patTemplate system - what it is and how it can be used in your site.
<p>
<quote>
<i>
patTemplate is a set of classes that allow you to separate your php code from design/output, making your code easier to maintain. To identify a certain part of the page as a template, patTemplate uses XML tags to assign a template a unique name and a various attributes (see <a href="http://www.php-tools.de/site.php?&PHPSESSID=244c8bc387ce4eb40b74d52dc6c87215&file=/patTemplate/doc/tags.xml">patTemplate Tags and attributes</a> for a list of all tags and attributes). When parsing a template, the parser divides the page in several chunks and treats them as separate templates. By using patTemplate's API you can hide, display or repeat a certain template.
</i>
</quote>
<p>
He <a href="http://blinduser.blogspot.com/2006/03/pattemplate-and-php.html">describes</a> the different template types (OddEven, Condition, SimpleCondition) and how to use variables inside the templates. He wraps it up with a quick installation overview, both using PEAR and the manual installation.]]></description>
      <pubDate>Thu, 09 Mar 2006 06:52:51 -0600</pubDate>
    </item>
  </channel>
</rss>
