<?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>Fri, 08 Aug 2008 15:45:32 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Evert Pot's Blog: Preventing XSS in Javascript strings]]></title>
      <guid>http://www.phpdeveloper.org/news/10741</guid>
      <link>http://www.phpdeveloper.org/news/10741</link>
      <description><![CDATA[<p>
<i>Evert Pot</i> has <a href="http://www.rooftopsolutions.nl/article/197">pointed out a handy tool</a> that can make escaping strings in and out of your application simpler - <a href="https://www.owasp.org/index.php/Category:OWASP_Encoding_Project">Reform</a>.
</p>
<blockquote>
<a href="https://www.owasp.org/index.php/Category:OWASP_Encoding_Project">Reform</a> is a tool that does exactly this. Reform allows you to escape your data for a javascript, xml, html or vbscript (yes it still exists) context. It provides libraries for Java, .NET, PHP, Perl, Python, Javascript and ASP. Pretty cool!
</blockquote>
<p>
The utility is simply included into the application an called via the static methods it adds. His example shows the escaping of some output text in a Javascript string to correctly prevent it from falling into an evil XSS scheme.
</p>]]></description>
      <pubDate>Fri, 01 Aug 2008 12:04:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Asvin Balloo's Blog: Geolocate your visitors with PHP (part 2)]]></title>
      <guid>http://www.phpdeveloper.org/news/10717</guid>
      <link>http://www.phpdeveloper.org/news/10717</link>
      <description><![CDATA[<p>
<i>Asvin Balloo</i> has posted the <a href="http://htmlblog.net/geolocate-your-visitors-with-php-part-2/">second part</a> of his geolocate with PHP tutorial series - using the mapping information gathered from the <a href="http://www.phpdeveloper.org/news/10643">previous article</a> to plot them on a map.
</p>
<blockquote>
<a href="http://htmlblog.net/geolocate-your-visitors-with-php-part-1/">In the first part</a> of this series I showed how you could get the country of a visitor via his IP address. Now with this precious information, I'll show you how to map the visitor visually on the world map using <a href="http://code.google.com/apis/maps/documentation/">Google Maps</a>.
</blockquote>
<p>
The full code is provided - the PHP to pull the latitude/longitude information from the GeoIP library and the Javascript to get the Google Map to plot the point. You can check out the <a href="http://htmlblog.net/demo/myip/">live demo</a> for an example or just <a href="http://htmlblog.net/demo/myip/myip.zip">grab the source</a> and try it out for yourself.
</p>]]></description>
      <pubDate>Wed, 30 Jul 2008 12:08:10 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: Creating a Dynamic Poll with jQuery and PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10686</guid>
      <link>http://www.phpdeveloper.org/news/10686</link>
      <description><![CDATA[<p>
The NETTUTS.com website has a <a href="http://nettuts.com/javascript-ajax/creating-a-dynamic-poll-with-jquery-and-php/">new tutorial</a> posted that combines PHP and AJAX (using the the <a href="http://jquery.com">jQuery</a> library specifically) to create a simple dynamic poll.
</p>
<blockquote>
When you combine some neat functionality courtesy of PHP with the cleverness of jQuery you can produce some pretty cool results. In this tutorial we'll create a poll using PHP and XHTML, then make use of some jQuery Ajax effects to eliminate the need for a page refresh, and to give it a nice little bit of animation.
</blockquote>
<p>
The PHP handles defining the question, answers and the functionality to load, submit and return the current results (number of votes) back to the javascript. The communication between the PHP and javascript is a JSON message made simple thanks to PHP's <a href="http://php.net/json_encode">json_encode</a> function.
</p>
<p>
You can <a href="http://nettuts.s3.amazonaws.com/026_Poll/demo.zip">download the source</a> or check out a <a href="http://nettuts.com/demos/test_poll/">live demo</a> to see how it all fits together.
</p>]]></description>
      <pubDate>Fri, 25 Jul 2008 10:22:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Andy Frey's Blog: JavaScript PHP Remoting Demonstration]]></title>
      <guid>http://www.phpdeveloper.org/news/10504</guid>
      <link>http://www.phpdeveloper.org/news/10504</link>
      <description><![CDATA[<p>
<i>Andy Frey</i> dropped us a line to tell us about a <a href="http://onesandzeros.biz/jsphpremoting/">method he's come up with</a> to make a remoting interface between Javascript and PHP5.
</p>
<blockquote>
This is a demonstration of a very fast and easy way to build AJAX-type applications where communications between JavaScript on the client side and PHP5 on the server side is ideal. This library makes development of such systems fast and very simple.
</blockquote>
<p>
In <a href="http://onesandzeros.biz/jsphpremoting/">his example</a> he shows how to create the PHP and Javascript functions that let the service talk back and forth. He defines a simple "Hello World" style application to show how it would be structured. He also includes a bit of more complex that has other functionality - getting a value out of an array and returning a property/private variable from the backend class.
</p>]]></description>
      <pubDate>Sat, 28 Jun 2008 16:22:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Webinar Today for Zend Framework/Dojo Partnership]]></title>
      <guid>http://www.phpdeveloper.org/news/10275</guid>
      <link>http://www.phpdeveloper.org/news/10275</link>
      <description><![CDATA[<p>
Zend will be hosting <a href="https://zend.webex.com/mw0305l/mywebex/default.do?nomenu=true&siteurl=zend&service=6&main_url=https%3A%2F%2Fzend.webex.com%2Fec0600l%2Feventcenter%2Fevent%2FeventAction.do%3FtheAction%3Ddetail%26confViewID%3D195855353%26siteurl%3Dzend%26%26%26">a webinar</a> this morning for all those interesting in hearing about the new partnership between them and the Dojo framework to bring fully-developed javascript functionality to the Zend Framework.
</p>
<blockquote>
Zend is excited to announce a partnership between Dojo and Zend Framework. The goal is to deliver a one-stop solution for building rich internet applications with PHP & Ajax. Zendâ'™s co-founder and chief technical officer Andi Gutmans discusses this announcement in-depth on his blog and Zend architect Matthew Weier Oâ'™Phinney also provides code samples and more details in a separate post.
</blockquote>
<p>
<a href="https://zend.webex.com/mw0305l/mywebex/default.do?nomenu=true&siteurl=zend&service=6&main_url=https%3A%2F%2Fzend.webex.com%2Fec0600l%2Feventcenter%2Fevent%2FeventAction.do%3FtheAction%3Ddetail%26confViewID%3D195855353%26siteurl%3Dzend%26%26%26">The webinar</a> will provide an overview of the integration that's going to happen and a bit of Q&A from those listening in. The event will be happening at 9am PDT/4pm GMT and you'll need to <a href="https://zend.webex.com/mw0305l/mywebex/default.do?nomenu=true&siteurl=zend&service=6&main_url=https%3A%2F%2Fzend.webex.com%2Fec0600l%2Feventcenter%2Fevent%2FeventAction.do%3FtheAction%3Ddetail%26confViewID%3D195855353%26siteurl%3Dzend%26%26%26">register</a> to save your spot and get in.
</p>]]></description>
      <pubDate>Tue, 27 May 2008 07:32:53 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Zend and Dojo Partnership for Ajax in the Zend Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/10239</guid>
      <link>http://www.phpdeveloper.org/news/10239</link>
      <description><![CDATA[<p>
In his keynote this morning <i>Andi Gutmans</i> announced some other big news (see <a href="http://www.phpdeveloper.org/news/10238">here</a> for the other announcement) at the php|tek conference currently being held in Chicago - that Zend and the Dojo framework were teaming up to provide an "out-of-the-box" Ajax solution included with the Zend Framework.
</p>
<p>
Several members of the community have already blogged about it including:
</p>
<ul>
<li><a href="http://weierophinney.net/matthew/archives/176-Zend-Framework-Dojo-Integration.html">Matthew Weier O'Phinney</a>
<li><a href="http://andigutmans.blogspot.com/2008/05/dojo-and-zend-framework-partnership.html">Andi himself</a>
<li><a href="http://wolfram.kriesing.de/blog/index.php/2008/dojo-zend-framework">Wolfram Kriesing</a>
<li><a href="http://feeds.feedburner.com/~r/ZendDeveloperZone/~3/296759165/3545-Dojo-and-Zend-Framework-Partnership-Announcement">this FAQ</a> from the Zend Developer Zone detailing the partnership
</ul>
<p>
So far, all of the comments have been good and the partnership has been well received. <i>Matthew</i> included in <a href="http://weierophinney.net/matthew/archives/176-Zend-Framework-Dojo-Integration.html">hist post</a> a few of the places they're already planning on "ajaxing" in the Zend Framework (including the forms and the JSON-RPC server).
</p>]]></description>
      <pubDate>Wed, 21 May 2008 16:17:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Kae Verens' Blog: efficient JS minification using PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10232</guid>
      <link>http://www.phpdeveloper.org/news/10232</link>
      <description><![CDATA[<p>
In a <a href="http://verens.com/archives/2008/05/20/efficient-js-minification-using-php/">new post</a> today, <i>Kae Verens</i> takes a look at a method for easy and quick javascript minification with help from a little bit of PHP.
</p>
<blockquote>
A useful part of minification is that during the act of compiling your minified source, you can also pull in other JavaScript files and compiled them all into one single source. This has a major advantage that there is only one file to download.
</blockquote>
<p>
The <a href="http://verens.com/archives/2008/05/20/efficient-js-minification-using-php/">method</a> runs a <a href="http://www.php.net/file_get_contents">file_get_contents</a> on each of the javascript files, and pulls their content into a single PHP variable. This value is then just echoed out after it's passes through <a href="http://code.google.com/p/jsmin-php/">this minimizer class</a>. 
</p>
<p>
<i>Kae</i> also offers an alternative to performing this expensive operation each time - caching then checking the md5 hash of the cache to see if it's different than the current version. Example code is included.
</p>]]></description>
      <pubDate>Wed, 21 May 2008 10:25:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Eirik Hoem's Blog: Handy online regex tool for PHP, Perl, JS and Python]]></title>
      <guid>http://www.phpdeveloper.org/news/10121</guid>
      <link>http://www.phpdeveloper.org/news/10121</link>
      <description><![CDATA[<p>
<i>Eirik Hoem</i> has <a href="http://blog.eirikhoem.net/index.php/2008/04/29/handy-online-regex-tool-for-php-perl-js-and-python/">pointed out</a> an online tool a coworker shared with him to work with regular expressions for multiple languages.
</p>
<blockquote>
A coworker of mine has been working on a ajax enabled regex tool which lets you evaluate regex expressions in several languages (including PHP PCRE and PHP POSIX) with instant results.
</blockquote>
<p>
<a href="http://regex.larsolavtorvik.com/">The tool</a> lets you put in the string you want to match again and the pattern you want to match with. The results are automatically populated below it, making it easy to fine-tune your expression to only what you want.
</p>]]></description>
      <pubDate>Tue, 06 May 2008 12:09:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Developing a Ajax-driven Shopping Cart with PHP and Prototype, Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/10105</guid>
      <link>http://www.phpdeveloper.org/news/10105</link>
      <description><![CDATA[<p>
PHPBuilder.com has continued their series looking at building an Ajax-driven shopping cart with <a href="http://www.phpbuilder.com/columns/jason_gilmore20080502_2.php3">part two</a> posted today (<a href="http://www.phpdeveloper.org/news/10060">part one here</a>). Last time they laid the PHP foundation for the example app, this time they add another layer - the Ajax functionality to manage the current contents of the cart.
</p>
<blockquote>
Finally, a link to the shopping cart is provided, although you could just as easily have displayed the cart contents on the same page. For the sake of brevity I'll just show you how to integrate the add feature, and will leave the subtraction mechanism to you as an exercise.
</blockquote>
<p>
The Ajax frontend calls a managecart.php backend file that calls addToCart and deleteFromCart based on which type of "task" is passed to it.
</p>]]></description>
      <pubDate>Mon, 05 May 2008 07:58:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Chris Hartjes' Blog: What's The Next PHP Stack?]]></title>
      <guid>http://www.phpdeveloper.org/news/9814</guid>
      <link>http://www.phpdeveloper.org/news/9814</link>
      <description><![CDATA[<p>
In a new blog post, <i>Chris Hartjes</i> asks <a href="http://www.littlehart.net/atthekeyboard/2008/03/14/whats-the-next-php-stack/">what's the next stack</a> coming up on the horizon. LAMP has been the king for so long now it's hard to think about what might be next, but he takes a stab at it:
</p>
<blockquote>
So the next thing I've been wondering about is about what future PHP stacks will look like, at least on the open source side of things. Have we gotten to the point where this is as good as it gets?
</blockquote>
<p>
He looks at other stacks he's been working with (like LNNP - Linux, nginx, Postgres and PHP) as well as the question of limitations. Are we limiting ourselves by relying on LAMP too much? What else is out there? Does Javascript have a permenant place in any of this? (jLAMP anyone?)
</p>]]></description>
      <pubDate>Tue, 18 Mar 2008 10:25:42 -0500</pubDate>
    </item>
  </channel>
</rss>
