<?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, 15 May 2008 22:11:56 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Useful in-browser development tools for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10172</guid>
      <link>http://www.phpdeveloper.org/news/10172</link>
      <description><![CDATA[<p>
<a href="http://www.sitepoint.com/blogs/2008/05/13/useful-in-browser-development-tools-for-php/">This new post</a> from <i>Troels Knak-Nielsen</i> on the SitePoint PHP blog shares a few helpful in-browser development tools that could come in handy in your day to day coding.
</p>
<blockquote>
While debuggers exists, there isn't much of a tradition for using them in PHP. People have largely come to rely on injecting debugging code directly into the program, for inspecting program scope.
</blockquote>
<p>
Tools mentioned include traceers and error handlers (like XDebug), some debugging parts of the popular PHP frameworks and the set of *cachegrind tools to help you parse the output of XDebug for profiling your application.
</p>]]></description>
      <pubDate>Tue, 13 May 2008 11:14:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Harun Yayli's Blog: oci_bind_by_name maxlength is not so optional]]></title>
      <guid>http://www.phpdeveloper.org/news/10156</guid>
      <link>http://www.phpdeveloper.org/news/10156</link>
      <description><![CDATA[<p>
<i>Harun Yayli</i> <a href="http://livebookmark.net/journal/2008/05/06/oci_bind_by_name-maxlength-is-not-so-optional/">came across</a> a slight problem in his development using the oci_bind_by_name function for one of his queries:
</p>
<blockquote>
If you think that the maxlength parameter in the documentation of oci_bind_by_name is optional, see this example and think again.
</blockquote>
<p>
His sample code gave him a "can bind a LONG value only for insert into a LONG column..." error from his Oracle database. His fix was to add that length parameter (his max column length) and all was well. One of his comments (from <i>cj</i>) helps to explain things a bit more:
</p>
<blockquote>
It makes senses that a length would be required because when the oci_bind_by_name() call is made, there is no data in $$key (a.k.a. $a, $b or $c). Without a length passed, PHP tells the DB to expect a single byte string.
</blockquote>]]></description>
      <pubDate>Fri, 09 May 2008 13:45:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Priebsch's Blog: Turning errors into exceptions]]></title>
      <guid>http://www.phpdeveloper.org/news/10080</guid>
      <link>http://www.phpdeveloper.org/news/10080</link>
      <description><![CDATA[<p>
In a <a href="http://inside.e-novative.de/archives/115-Turning-errors-into-exceptions.html">recent blog entry</a> <i>Stefan Priebsch</i> shows how to take an error thrown by your script and turn it into an exception (to make things like catchable fatal errors).
</p>
<blockquote>
While I would personally prefer an exception to be thrown in the first place, it is pretty easy to convert errors to exceptions in PHP.
</blockquote>
<p>
His example is pretty simple - you set a custom error handler in your script that pulls in the error information and tosses an exception based on the error number the handler is given. Then you can use the try/catch method to see if your script has tossed an exception of the fatal error type. Nice simple solution to handle an interesting little problem.
</p>]]></description>
      <pubDate>Wed, 30 Apr 2008 12:53:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Creating an Error Handling Module for a PHP 5 File Uploader]]></title>
      <guid>http://www.phpdeveloper.org/news/9895</guid>
      <link>http://www.phpdeveloper.org/news/9895</link>
      <description><![CDATA[<p>
On DevShed today, they <a href="http://www.devshed.com/c/a/PHP/Creating-an-Error-Handling-Module-for-a-PHP-5-File-Uploader/">continue their look</a> at uploading files in PHP with the addition of some error handling features for their current script.
</p>
<blockquote>
In this third tutorial of the series, I'm going to show you how to incorporate a brand new error checking module into the file uploading PHP script created in the last article.
</blockquote>
<p>
They show the basic method - uploading with <a href="http://www.devshed.com/c/a/PHP/Creating-an-Error-Handling-Module-for-a-PHP-5-File-Uploader/1/">no error checking</a> - before showing how much help adding in an error checking component to watch for things like files that are too large, invalid file choices and problems writing the file on the server side.
</p>]]></description>
      <pubDate>Wed, 02 Apr 2008 16:38:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[David Coallier's Blog: PHP Quebec Hindering the PHP Project development?]]></title>
      <guid>http://www.phpdeveloper.org/news/9807</guid>
      <link>http://www.phpdeveloper.org/news/9807</link>
      <description><![CDATA[<p>
On a bit more controversial note, <i>David Coallier</i> has <a href="http://blog.agoraproduction.com/index.php?/archives/63-PHP-Quebec-Hindering-the-PHP-Project-development.html">posted about</a> a rather unpleasant experience he had at this year's <a href="http://conf.phpquebec.org/">PHP Quebec</a> conference - in his own words:
</p>
<blockquote>
As many of you know, this time of the year is usually the PHP Quebec
conference and many php internals and international speakers fly to
Montreal to speak. [...] This morning (2008/13/03) I saw Lukas on IRC and we said "Hey let's meet around 1pm to discuss about the PHP TestFest"
</blockquote>
<p>
He met <i>Lukas</i> at the hotel, in the lounge of the hotel, not attending any of the talks. As he sits there talking to the others, a PHP Quebec staff member walks out and hands him a bill (for around 450 CAD) for attending the conference. After a little checking - both with fellow user group members and with the hotel staff as to the validity of this behavior, he could only assume that it was some "money driven" attempt on the PHP Quebec conference's side to get what they could.
</p>
<p>
Be sure to <a href="http://blog.agoraproduction.com/index.php?/archives/63-PHP-Quebec-Hindering-the-PHP-Project-development.html">check out the comments</a> for some other views from the community.
</p>]]></description>
      <pubDate>Mon, 17 Mar 2008 11:15:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nick Halstead's Blog: Programming Tips #9 "debug_backtrace"]]></title>
      <guid>http://www.phpdeveloper.org/news/9602</guid>
      <link>http://www.phpdeveloper.org/news/9602</link>
      <description><![CDATA[<p>
<i>Nick Halstead</i> continues the "Programming Tips" series on his blog today with <a href="http://www.nickhalstead.com/2007/12/19/programming-tips-9-debug_backtrace/">tip number nine</a> (a very handy tip indeed) - using <a href="http://www.php.net/debug_backtrace">debug_backtrace</a> from <i>Larry Garfield</i>.
</p>
<blockquote>
Despite the proliferation of debugging tools, especially real-time debuggers, "debugging by print statement" remains the most common form of debugging in most programming languages.
</blockquote>
<p>
An example of its use <a href="http://www.nickhalstead.com/2007/12/19/programming-tips-9-debug_backtrace/">is included</a> by way of a debug() function that returns the message it a bit friendlier format. 
</p>]]></description>
      <pubDate>Mon, 11 Feb 2008 10:33:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jonathan Snook's Blog: Easier Static Pages for CakePHP 1.2]]></title>
      <guid>http://www.phpdeveloper.org/news/9567</guid>
      <link>http://www.phpdeveloper.org/news/9567</link>
      <description><![CDATA[<p>
<i>Jonathan Snook</i> has <a href="http://snook.ca/archives/cakephp/static_pages_cakephp12/">posted about</a> a method he's using to make the creation/use of static pages in a CakePHP application (or website) simpler.
</p>
<blockquote>
Traditionally in a CakePHP application, to do static pages you have two options: use the built-in Pages controller or set up an empty action in a controller.
</blockquote>
<p>
Feeling that neither of these two options met how he wanted things to work, <i>Jonathan</i> (and <a href="http://cake.insertdesignhere.com/">Nate Abele</a>) developed a class that extends the error handler in the CakePHP framework to handle "missing" actions and controllers. This means that, if an unknown controller/action combo is called, this script will check in its correct location (in the structure of the site) and try to find it to render it.
</p>]]></description>
      <pubDate>Tue, 05 Feb 2008 08:44:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Introducing xdebug]]></title>
      <guid>http://www.phpdeveloper.org/news/9209</guid>
      <link>http://www.phpdeveloper.org/news/9209</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today, <i>Stefan Priebsch</i> has written up <a href="http://devzone.zend.com/article/2803-Introducing-xdebug">an article</a> introducing fellow developers to XDebug, a popular PHP debugging suite.
</p>
<blockquote>
This article is the first installment of a five-part series of articles covering xdebug, a free and open source swiss army knife tool for PHP developers. <a href="http://www.xdebug.org/">xdebug</a> is a PHP extension created by Derick Rethans, one of the PHP core developers. This week, we will show you how to install xdebug and introduce you to some of the basic features. In the subsequent parts of this article series, we will have a closer look at one of xdebug's main features, namely tracing, profiling, debugging, and code coverage.
</blockquote>
<p>
In <a href="http://devzone.zend.com/article/2803-Introducing-xdebug">this first installment</a>, he looks at installing the software (both on a unix-based system and on a Windows box) and how to turn it on to work with your web server. He also mentions some of the error output options including the "new and improved" var_dump call and the stack trace method to help you locate exactly where in the code the error's hidden.
</p>]]></description>
      <pubDate>Mon, 10 Dec 2007 12:56:00 -0600</pubDate>
    </item>
  </channel>
</rss>
