<?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>Sat, 22 Nov 2008 06:17:41 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Micheal Kimsal's Blog: Symfony __toString() generation]]></title>
      <guid>http://www.phpdeveloper.org/news/10865</guid>
      <link>http://www.phpdeveloper.org/news/10865</link>
      <description><![CDATA[<p>
<i>Michael Kimsal</i> has <A href="http://michaelkimsal.com/blog/symfony-__tostring-generation/">pointed out</a> a small irritation when using the Symfony framework and models - an issue when using models that have relationships.
</p>
<blockquote>
If there are relations (an Author has a Book, for example). the generated forms will complain that the generated Models need a __toString() method to be used in the Form/View.  In grails, this is the case, but every domain (corresponding to a Symfony 'model') has an implicit toString() method already generated, which return the string "<domain>:<id>".  For most production work, you'll want to override it with whatever you need the string to read, but for prototyping, it's fine.
</blockquote>
<p>
He went in and modified the Symfony core to add in a __toString call that would return the object correctly. Several of the commentors agree with his frustration and some of the Symfony developers even chime in with some of the reasoning behind why it's like that.
</p>]]></description>
      <pubDate>Wed, 20 Aug 2008 11:14:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Adding Validation to an Image Generator Class with PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/8764</guid>
      <link>http://www.phpdeveloper.org/news/8764</link>
      <description><![CDATA[<p>
DevShed takes the next step in their image generation tutorial series today with <a href="http://www.devshed.com/c/a/PHP/Adding-Validation-to-an-Image-Generator-Class-with-PHP-5/">part two</a> - the addition of some validation methods to the class:
</p>
<blockquote>
In this second part of the series I'll show you how to introduce some important modifications to the initial skeleton of the image generator class, to make it slightly more modular and independent, while maintaining its functionality nearly the same as before. Sounds pretty interesting, right?
</blockquote>
<p>
The <a href="http://www.devshed.com/c/a/PHP/Adding-Validation-to-an-Image-Generator-Class-with-PHP-5/">validation</a> they add checks the input the developer gives the mini-app's image creation function to ensure that it's getting valid height, width, text color, etc. Exceptions are thrown when the information is incorrect.
</p>]]></description>
      <pubDate>Tue, 02 Oct 2007 10:21:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Tony Bibbs' Blog: PHP5 SOAP Still Has Ways to Go]]></title>
      <guid>http://www.phpdeveloper.org/news/7941</guid>
      <link>http://www.phpdeveloper.org/news/7941</link>
      <description><![CDATA[<p>
<i>Tony Bibbs</i> <a href="http://www.tonybibbs.com/article.php/PHP5SOAPHasWaysToGo">takes a look</a> at an increasingly popular bit of functionality in PHP5, the SOAP extension, and notes that it still has a "ways to go".
</p>
<blockquote>
In my latest round of web services work in PHP5 I was creating a PHP5 client that interacts with our Java-based ERP. The client needs to be a combination of a couple of WSDL's into one, nice, compact and powerful client. It should be noted this client will be distributed via the State of Iowa PEAR channel so it will undoubted by used by other project in our organization and throughout state government so the result needs to have a lot more fit-and-finish than would be typical.
</blockquote>
<p>
He <a href="http://www.tonybibbs.com/article.php/PHP5SOAPHasWaysToGo">mentions his expectations</a> for PHP's usage of the protocol, including the automatic generation of variables/methods/etc to help the developer use the remote application easier.
</p>]]></description>
      <pubDate>Thu, 31 May 2007 08:44:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[AnyExample.com: PHP password generation]]></title>
      <guid>http://www.phpdeveloper.org/news/6994</guid>
      <link>http://www.phpdeveloper.org/news/6994</link>
      <description><![CDATA[<p>
A <a href="http://anyexample.com/programming/php/php__password_generation.xml">new tutorial</a> has been posted over on AnyExample.com dealing with password generation in PHP. This type of script can be useful for creating a default password for your application to give initially to the user.
</p>
<blockquote>
Modern web-applications often provide (during registration, or password-reset) random-generated passwords for its users. However these passwords (usually a random combination of letters or numbers) are quite hard to remember: in fact, it's even impossible to read them. This article provides a function for generating English-like readable passwords.
</blockquote>
<p>
The key difference in <a href="http://anyexample.com/programming/php/php__password_generation.xml">this script</a> is that last sentence - making the passwords somewhat human-readable. They give an example of what the traditional (md5-ish) approach to making passwords is before giving the code to create something a bit easier to remember like "lyttakor" or "fapoution". Example usage code is also provided.
</p>]]></description>
      <pubDate>Fri, 29 Dec 2006 08:03:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[WebCheatSheet.com: PHP: Dynamic Image Generation]]></title>
      <guid>http://www.phpdeveloper.org/news/6740</guid>
      <link>http://www.phpdeveloper.org/news/6740</link>
      <description><![CDATA[<p>
From the WebCheatSheet.com site, there's <a href="http://www.webcheatsheet.com/php/dynamic_image_generation.php">a new tutorial</a> helping you create some dynamic images for your pages, specifically creating a CAPTCHA image, a dynamic bar graph, and using these images on other pages.
</p>
<p>
They assume you know a little something about the graphics functionality in PHP before you've started because they dive right into the code for the CAPTCHA image. They explain what the code's doing, but if you're not familiar with the PHP GD functions, you might be a little lost. Their string for the image is a randomly generated md5 hash.
</p>
<p>
The bar graph example is similar and they include a bit more for it - pulling information from a database (MySQL) backend (the results from a poll). They provide all of the code for this example and finish the tutorial off with a brief look at the options for using these types of dynamic images on the other pages in your site.
</p>]]></description>
      <pubDate>Mon, 20 Nov 2006 14:14:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jakob Westhoff's Blog: Class dependency graph generation]]></title>
      <guid>http://www.phpdeveloper.org/news/6725</guid>
      <link>http://www.phpdeveloper.org/news/6725</link>
      <description><![CDATA[<p>
<i>Tobias Schlitt</i> has <a href="http://schlitt.info/applications/blog/index.php?/archives/510-eZ-Components-class-graph.html">posted about a script</a> that <a href="http://westhoffswelt.de">Jakob</a> has created to make class graphs from the existing PHP source in a directory.
</p>
<blockquote>
The resulting SVG is generated through GraphViz. He just ran the script on the <a href="http://ez.no/ezcomponents">eZ components</a>.
</blockquote>
<p>
It's a bash script that can run local to the machine and make the images as it speeds through your PHP code. <i>Jakob</i> mentions that the script it free for all, and offers a <a href="http://westhoffswelt.de/data/blog/classgraph/generate_class_graph.sh">direct download</a> from his page. You can see a more full-size example in the <a href="http://westhoffswelt.de/data/blog/ezc_classgraph/">current graphs</a> of the eZ components trunk.
</p>]]></description>
      <pubDate>Thu, 16 Nov 2006 16:34:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Dikini.net: Rewriting macros - the peculiar case of php]]></title>
      <guid>http://www.phpdeveloper.org/news/6062</guid>
      <link>http://www.phpdeveloper.org/news/6062</link>
      <description><![CDATA[<p>
On Dikiki.net today, there's <a href="http://dikini.net/16.08.2006/rewriting_macros_the_peculiar_case_of_php">a new post</a> that's a continuation of a series (<a href="http://www.phpdeveloper.org/news/5882">first post</a>, <a href="http://www.phpdeveloper.org/news/5923">second post</a>) dealing with macro programming in PHP.
</p>
<blockquote>
Without going into theoretical details, some of which are quite alien to me, I'll try to describe some of the challenges that pattern patching rewriting macros might pose for a language like php. After brief explanation what kind of a beast is this, I try to explore some of the finer points, which might cause problems. The intent of this post is to sketch a design and highlight some of the possible issues.
</blockquote>
<p>
He <a href="http://dikini.net/16.08.2006/rewriting_macros_the_peculiar_case_of_php">breaks up the post</a> into a few sections:
<ul>
<li>pattern matching rewrite only macros - a bird eye view
<li>Transformation time
<li>Basic/skeleton shapes and intermediate shapes
<li>Code generation issues specific to php
<li>Hygiene
<li>A rough macro shape outline
<li>Output/Status of the project
</ul>
There are code examples (of how it should work) and explainations of the issues PHP would face to accomplish this goal.
</p>]]></description>
      <pubDate>Thu, 17 Aug 2006 07:29:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Katy's Homepage: Automatic WSDL Generation in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/5906</guid>
      <link>http://www.phpdeveloper.org/news/5906</link>
      <description><![CDATA[<p>
One of the things that frustrates SOAP (and other web service) users is the creation of the WSDL files for their service. Learning a whole new "language" just to describe what they're offering seems silly, so the quest began for a method to automatically create this information based off of the service itself.
</p>
<p>
That's where <a href="http://www.djkaty.com/drupal/php-wsdl">this post</a> on <i>Katy</i>'s homepge comes in. It details updates <i>Katy</i> has made to a class offered by <i>David Griffin</i> called <a href="http://www.giffin.org/">wsdl-writer-0.3</a>.
</p>
<blockquote>
<p>
There have been several attempts to write WSDL auto-generation code for PHP. They typically work by having the developer provide additional data about the types of each argument and return value to each web service defined, for example in comments or arrays.
</p>
<p>
All of the published solutions are rather limited. Perhaps the best attempt I found is David Giffin's wsdl-writer-0.3, but [it] has some major limitations as it stands. David unfortunately does not maintain wsdl-writer so I have decided to publish my modifications here.
</p>
</blockquote>
<p>
She <a href="http://www.djkaty.com/drupal/php-wsdl">details the changes</a>, noting updates to interoperability, new features (including native SOAP header support), and a few other bug fixes. A simple code example is also included, showing a sample web service class.
</p>]]></description>
      <pubDate>Mon, 31 Jul 2006 05:52:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ben Ramsey's Blog: Generating OPML From del.icio.us (And Getting All Your Links)]]></title>
      <guid>http://www.phpdeveloper.org/news/5323</guid>
      <link>http://www.phpdeveloper.org/news/5323</link>
      <description><![CDATA[<p>
<i>Ben Ramsey</i>, looking for a way to more efficiently manage his list of sites he reads (the OPML list), has discovered a way to get around the 30 item limit that the del.icio.us restricts a user to (thus only 30 items on the OPML list) through the <a href="http://benramsey.com/archives/generating-opml-from-delicious/">use of the site's own API</a>.
</p>
<quote>
<i>
I investigated a way to get around the 30-feed limitation in del.icio.us, and I found that their API allows you to do just this, albeit with a few restrictions of its own, which I'll explain in a few moments. Using the <a href="http://del.icio.us/help/api/">del.icio.us API</a>, instead of their RSS feeds, I was able to use the following code to first check whether my del.icio.us account has been updated since I last cached their data, and, if so, to grab all of the links for a particular tag and cache the data to a file for later use:
</i>
</quote>
<p>
<a href="http://benramsey.com/archives/generating-opml-from-delicious/">The code</a> is simple and uses the SimpleXML PHP functionality to grab all of the items tagged with "blogroll" and parse through them, echoing them back out as simple links (to a "blogroll" section on a site). He has the script firing nightly, regenerating the OPML file each time, making it simple to automatically keep his list up-to-date while only having to update in one place.
</p>]]></description>
      <pubDate>Mon, 08 May 2006 06:28:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP Magazine: Latest Issue Released - February 2006]]></title>
      <guid>http://www.phpdeveloper.org/news/4806</guid>
      <link>http://www.phpdeveloper.org/news/4806</link>
      <description><![CDATA[According to <a href="http://www.phpmag.net/magphpde/magphpde_news/psecom,id,25503,nodeid,5.html">this new post</a> on the PHP Magazine site today, the latest edition - the February 2006 Issue - of the International PHP Magazine has been released.
<p>
Topics covered in <a href="http://www.phpmag.net/magphpde/magphpde_news/psecom,id,25503,nodeid,5.html">this issue</a> include:
<ul>
<li>Building Ning Apps - by <i>David Sklar</i>
<li>a look at SimpleXML in PHP - by <i>Thomas Myer</i>
<li>Code Generation Techniques - by <i>Jon Ramsey</i>
<li>"Navigating the maze of Phorum" - by <i>Brent Knigge</i>, <i>Boulos Mansour</i> and <i>Andy Cachia</i>
<li>and a spotlight on KINKY, an application framework with over 300 modules
</ul>
<p>
You can check out the <a href="http://www.php-mag.net/magphpde/psecom,id,20,archive,2,noeid,20,.html">full detailed table of contents</a> for every article in the issue, or just <a href="https://www.sda-asia.com/magphpde/magphpde_services/psecom,id,4,d,3,nodeid,5,x,2.html">hop on over</a> and puchase the issue today - a single issue only costs around $5.00 USD.]]></description>
      <pubDate>Tue, 07 Feb 2006 07:03:14 -0600</pubDate>
    </item>
  </channel>
</rss>
