<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Planetaki Planet PHP</title>
  <link rel="alternate" href="http://www.planetaki.com/php"/>
  <updated>2008-05-23T21:46:02+01:00</updated>
  <id>planetaki.com:1475</id>
  <author>
    <name>Planetaki - Planet PHP</name>
    <email>hello@planetaki.com</email>
  </author>
  <entry>
    <title>Site News: Blast from the Past - One Year Ago in PHP</title>
    <updated>2012-02-09T13:58:26Z</updated>
    <published>2012-02-09T13:08:28Z</published>
    <id>planetaki.com:1475:post:184545207</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17521"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184545207"/>
    <content type="html">Here's what was popular in the PHP community one year ago today:&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15895" rel="nofollow" target="_blank"&gt;Zend Developer Zone: ZendCon Sessions Episode 037: Why MVC is not an Application Architecture&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15868" rel="nofollow" target="_blank"&gt;Michael Nitschinger's Blog: Understanding the Lithium Router - Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15867" rel="nofollow" target="_blank"&gt;Rafael Dohms' Blog: Problem Solving technique #1: Taking a mental break&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15866" rel="nofollow" target="_blank"&gt;ZendCasts.com: Unit Testing Doctrine 2 Entities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15864" rel="nofollow" target="_blank"&gt;Lorna Mitchell's Blog: Installing Gearman for PHP and Ubuntu&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15894" rel="nofollow" target="_blank"&gt;Label Media Blog: Design Patterns in PHP - Observer Pattern&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15865" rel="nofollow" target="_blank"&gt;Sebastian Bergmann's Blog: PHP Project Wizard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15891" rel="nofollow" target="_blank"&gt;Lorna Mitchell's Blog: Book Review: The Passionate Programmer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15863" rel="nofollow" target="_blank"&gt;Jim Plush's Blog: How to Auto Create Issues in Jira From PHP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15892" rel="nofollow" target="_blank"&gt;Query7.com: Developing A Blog With CakePHP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15889" rel="nofollow" target="_blank"&gt;AppStorm.net: Using PyroCMS to Manage Content With Simplicity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15888" rel="nofollow" target="_blank"&gt;TechZinger Blog: Fat-Free Framework for PHP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15887" rel="nofollow" target="_blank"&gt;Zend Developer Zone: Creating Multi-Language Web Applications with Zend_Translate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15881" rel="nofollow" target="_blank"&gt;MySQL Performance Blog: Sample datasets for benchmarking and testing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://phpdeveloper.org/news/15880" rel="nofollow" target="_blank"&gt;PHPBuilder.com: Top 10 phpMyAdmin Tips and Tricks You May Not Know&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17521</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17521"/>
      <title>Site News: Blast from the Past - One Year Ago in PHP</title>
      <updated>2012-02-09T13:58:26Z</updated>
    </source>
  </entry>
  <entry>
    <title>ical</title>
    <updated>2012-02-09T13:58:27Z</updated>
    <published>2012-02-09T07:59:38Z</published>
    <id>planetaki.com:1475:post:184545215</id>
    <link rel="alternate" href="http://feedproxy.google.com/~r/phpclasses-xml/~3/tgfslviox6g/7337-PHP-Create-a-calendar-file-of-events-in-ICAL-format.html"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184545215"/>
    <summary type="html">&lt;p&gt;Package:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.phpclasses.org/package/7337-PHP-Create-a-calendar-file-of-events-in-ICAL-format.html" rel="nofollow" target="_blank"&gt;ical&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Summary: &lt;/p&gt;</summary>
    <content type="html">&lt;div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Package:&lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.phpclasses.org/package/7337-PHP-Create-a-calendar-file-of-events-in-ICAL-format.html" rel="nofollow" target="_blank"&gt;ical&lt;/a&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Summary: &lt;/div&gt;
&lt;div&gt;&lt;span name="description"&gt;Create a calendar file of events in ICAL format&lt;/span&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Groups: &lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.phpclasses.org/browse/class/8.html" rel="nofollow" target="_blank"&gt;PHP 5&lt;/a&gt;, &lt;a href="http://www.phpclasses.org/browse/class/9.html" rel="nofollow" target="_blank"&gt;Time and Date&lt;/a&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Author: &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.phpclasses.org/browse/author/188170.html" rel="nofollow" target="_blank"&gt;Floyd Resler&lt;/a&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Description: &lt;/div&gt;
&lt;div&gt;This class can create a calendar file of events in ICAL format...&lt;br&gt;&lt;br&gt;
Read more at http://www.phpclasses.org/package/7337-PHP-Create-a-calendar-file-of-events-in-ICAL-format.html&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7EvYq24LDV08hI8FuPjxtulxr0U/0/da" rel="nofollow" target="_blank"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7EvYq24LDV08hI8FuPjxtulxr0U/0/di" border="0" ismap onload="resizeImage(this)"&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7EvYq24LDV08hI8FuPjxtulxr0U/1/da" rel="nofollow" target="_blank"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7EvYq24LDV08hI8FuPjxtulxr0U/1/di" border="0" ismap onload="resizeImage(this)"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=tgfslviox6g:Vh3YHx2hDu8:yIl2AUoC8zA" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=yIl2AUoC8zA" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=tgfslviox6g:Vh3YHx2hDu8:7Q72WNTAKBA" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=7Q72WNTAKBA" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=tgfslviox6g:Vh3YHx2hDu8:qj6IDK7rITs" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=qj6IDK7rITs" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=tgfslviox6g:Vh3YHx2hDu8:gIN9vFwOqvQ" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?i=tgfslviox6g:Vh3YHx2hDu8:gIN9vFwOqvQ" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpclasses-xml/~4/tgfslviox6g" height="1" width="1" onload="resizeImage(this)"&gt;</content>
    <source>
      <id>http://feedproxy.google.com/~r/phpclasses-xml/~3/tgfslviox6g/7337-PHP-Create-a-calendar-file-of-events-in-ICAL-format.html</id>
      <link rel="alternate" href="http://feedproxy.google.com/~r/phpclasses-xml/~3/tgfslviox6g/7337-PHP-Create-a-calendar-file-of-events-in-ICAL-format.html"/>
      <title>ical</title>
      <updated>2012-02-09T13:58:27Z</updated>
    </source>
  </entry>
  <entry>
    <title>Ibuildings techPortal: DPC Radio: Implementing OAuth</title>
    <updated>2012-02-08T21:39:06Z</updated>
    <published>2012-02-08T20:20:29Z</published>
    <id>planetaki.com:1475:post:184413902</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17520"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413902"/>
    <content type="html">&lt;p&gt;
On the Ibuildings techPortal today they've posted the latest in their DPC Radio series of podcasts as recorded at last year's &lt;a href="http://phpconference.nl" rel="nofollow" target="_blank"&gt;Dutch PHP Conference&lt;/a&gt;. In &lt;a href="http://techportal.ibuildings.com/2012/02/08/dpc-radio-implementing-oauth/" rel="nofollow" target="_blank"&gt;this new episode&lt;/a&gt; they share &lt;i&gt;Lorna Mitchell&lt;/i&gt;'s talk "Implementing OAuth".
&lt;/p&gt;
&lt;blockquote&gt;
With Twitter moving its API to OAuth the idea of using tokens rather than passwords for authentication went mainstream. Many explanations of OAuth make it seem complicated whereas in reality the "OAuth Dance" is a series of simple steps executed in sequence. This talk covers consuming and providing OAuth services, includes implementation examples, and is recommended for all technical leads, architects, and integration specialists.
&lt;/blockquote&gt;
&lt;p&gt;
You can listen to this latest episode either via &lt;a href="http://techportal.ibuildings.com/2012/02/08/dpc-radio-implementing-oauth/" rel="nofollow" target="_blank"&gt;the in-page player&lt;/a&gt; or by &lt;a href="http://dpcradio.s3.amazonaws.com/2011_010.mp3" rel="nofollow" target="_blank"&gt;downloading the mp3&lt;/a&gt;. You can follow along with the presentation in &lt;a href="http://www.slideshare.net/lornajane/oauth-7990565" rel="nofollow" target="_blank"&gt;her slides&lt;/a&gt;.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17520</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17520"/>
      <title>Ibuildings techPortal: DPC Radio: Implementing OAuth</title>
      <updated>2012-02-08T21:39:06Z</updated>
    </source>
  </entry>
  <entry>
    <title>Artur Ejsmont's Blog: A few words on bugs and software quality</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-08T19:50:40Z</published>
    <id>planetaki.com:1475:post:184413904</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17519"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413904"/>
    <content type="html">&lt;p&gt;
In &lt;a href="http://artur.ejsmont.org/blog/content/a-few-words-on-bugs-and-software-quality" rel="nofollow" target="_blank"&gt;this new post&lt;/a&gt; to his blog &lt;i&gt;Artur Ejsmont&lt;/i&gt; shares some of his thoughts on bugs and how they can effect the quality of your software. He touches on topics like handling bug reports, how random code changes effect them and how effective a code review can be.
&lt;/p&gt;
&lt;blockquote&gt;
From time to time I see bugs in the code and I start thinking "really? is it possible that no one noticed that bug before? am i the first person to see this code?". I thought it might be worth writing a little post on what helps me to deal with bugs and software quality in general and what are the common pitfalls in developer's thought process. Although it is not a very extensive post i hope it may inspire some developers to try new approaches.
&lt;/blockquote&gt;
&lt;p&gt;
Other topics he offers for consideration involve the fact that bugs will never fix themselves (they might disappear in a refactor though), that the bug is almost never in the language/data source's code and how automated (unit) testing can help to find new bugs before they're released to the users.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17519</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17519"/>
      <title>Artur Ejsmont's Blog: A few words on bugs and software quality</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Developer Drive: Building a PHP Ad Tracker: Data Object Design and Coding</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-08T18:57:54Z</published>
    <id>planetaki.com:1475:post:184413906</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17518"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413906"/>
    <content type="html">&lt;p&gt;
Continuing on from &lt;a href="http://phpdeveloper.org/news/17400" rel="nofollow" target="_blank"&gt;the first part&lt;/a&gt; of their tutorial series about creating a simple ad tracker for your web application, Developer Drive is back with &lt;a href="http://www.developerdrive.com/2012/02/php-ad-tracker-part-ii-data-object-design/" rel="nofollow" target="_blank"&gt;part two&lt;/a&gt;, a more in-depth look at the actual object design and code.
&lt;/p&gt;
&lt;blockquote&gt;
In our last PHP Ad Tracker lesson, we constructed the database tables for our ad banner application. Now we are ready to construct the data object that will hold the variables and functions that will display, add, edit and delete the data in those tables.
&lt;/blockquote&gt;
&lt;p&gt;
They cover each of the variables they'll be using with a summary of what they're used for as well as the various functions to be defined and what they'll return. Following this, they get into the actual development - creating an "ads" class and defining the methods to get the current ad count, get the number of clients and pull the actual client/ad data.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17518</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17518"/>
      <title>Developer Drive: Building a PHP Ad Tracker: Data Object Design and Coding</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Refulz.com: CakePHP evolves to 2.0</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-08T17:15:43Z</published>
    <id>planetaki.com:1475:post:184413908</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17517"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413908"/>
    <content type="html">&lt;p&gt;
On the Refulz.com blog there's a new post looking at &lt;a href="http://php.refulz.com/cakephp-evolves-to-2/" rel="nofollow" target="_blank"&gt;some of the new features in CakePHP 2.0&lt;/a&gt; including its use of lazy loading, the CakeEmail library and the new class loader.
&lt;/p&gt;
&lt;blockquote&gt;
With CakePHP 2.0, they have dropped support for PHP 4 and have refactored the library code to make it strictly complaint with PHP 5.2+. Modeled on Ruby on Rails (RoR), CakePHP is a tough competition to Zend framework, Symfony and CodeIgniter.
&lt;/blockquote&gt;
&lt;p&gt;
Besides the topics mentioned above, he also goes into the details of the new CakeRequest and CakeResponse models (to access information about teh current request/response). Summaries of all of the new functionality are provided along with some sample code where needed to illustrate.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17517</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17517"/>
      <title>Refulz.com: CakePHP evolves to 2.0</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Ed Finkler's Blog: The MicroPHP Follow-up FAQ</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-08T16:50:14Z</published>
    <id>planetaki.com:1475:post:184413910</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17516"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413910"/>
    <content type="html">&lt;p&gt;
Following up from his (now infamous) &lt;a href="http://phpdeveloper.org/news/17341" rel="nofollow" target="_blank"&gt;MicroPHP manifesto&lt;/a&gt;, &lt;i&gt;Ed Finkler&lt;/i&gt; has &lt;a href="http://funkatron.com/posts/the-microphp-follow-up-faq.html" rel="nofollow" target="_blank"&gt;this new post&lt;/a&gt; to his blog answering some of the common questions he's gotten about his beliefs.
&lt;/p&gt;
&lt;blockquote&gt;
My previous post, &lt;a href="http://funkatron.com/posts/the-microphp-manifesto.html" rel="nofollow" target="_blank"&gt;The MicroPHP Manifesto&lt;/a&gt;, resulted in much excitement. In between fits of rage and crying, I found some time to answer folks questions, and also discuss the topic on the &lt;a href="http://devhell.info/" rel="nofollow" target="_blank"&gt;/dev/hell podcast&lt;/a&gt; with my cohost &lt;a href="http://littlehart.net/" rel="nofollow" target="_blank"&gt;Chris Hartjes&lt;/a&gt;. To summarize and address some of the common questions, I felt I should write a small FAQ.
&lt;/blockquote&gt;
&lt;p&gt;Questions asked so far include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;So you think full-stack frameworks suck?
&lt;/li&gt;
&lt;li&gt;You need a large framework to enforce best practices!
&lt;/li&gt;
&lt;li&gt;You should check out my microframework!
&lt;/li&gt;
&lt;li&gt;How do you choose what gets listed in the &lt;a href="http://microphp.org/code.html" rel="nofollow" target="_blank"&gt;MicroPHP code collection&lt;/a&gt;?
&lt;/li&gt;
&lt;li&gt;Why do you hate Rush?
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
If you have a question you don't see listed, &lt;a href="http://funkatron.com/contact.html" rel="nofollow" target="_blank"&gt;drop him a note&lt;/a&gt; and he'll add to the post with more answers.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17516</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17516"/>
      <title>Ed Finkler's Blog: The MicroPHP Follow-up FAQ</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Rob Allen's Blog: One-to-Many Joins with Zend_Db_Table_Select</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-08T15:28:20Z</published>
    <id>planetaki.com:1475:post:184413912</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17515"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413912"/>
    <content type="html">&lt;p&gt;
&lt;i&gt;Rob Allen&lt;/i&gt; has a tip for the Zend Framework users out there using the Zend_Db module to connect to their database resources - how to do a &lt;a href="http://akrabat.com/zend-framework/one-to-many-joins-with-zend_db_table_select/" rel="nofollow" target="_blank"&gt;one to many join&lt;/a&gt; with the help of Zend_Db_Table_Select (easier than it sounds).
&lt;/p&gt;
&lt;blockquote&gt;
Let's say that you want to set up a one-to-many relationship between two tables: Artists and Albums because you've refactored my &lt;a href="http://akrabat.com/zend-framework-tutorial" rel="nofollow" target="_blank"&gt;ZF1 tutorial&lt;/a&gt;. [...] Assuming you're using Zend_Db_Table, the easiest way is to turn off the integrity check and do a join in a mapper or table method.
&lt;/blockquote&gt;
&lt;p&gt;
He includes a few lines of source to illustrate, calling the "setIntegrityCheck" value to "false" to tell ZF not to worry about the additional join value over to the artists table. The result is a new column value with the artist's name instead of just the ID.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17515</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17515"/>
      <title>Rob Allen's Blog: One-to-Many Joins with Zend_Db_Table_Select</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Gonzalo Ayuso's Blog: How to protect from SQL Injection with PHP</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-08T14:07:05Z</published>
    <id>planetaki.com:1475:post:184413914</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17514"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184413914"/>
    <content type="html">&lt;p&gt;
In a recent post to his blog, &lt;i&gt;Gonzalo Ayuso&lt;/i&gt; shares a few tips on &lt;a href="http://gonzalo123.wordpress.com/2012/02/06/how-to-protect-from-sql-injection-with-php/" rel="nofollow" target="_blank"&gt;preventing SQL injection&lt;/a&gt; attacks on your applications.
&lt;/p&gt;
&lt;blockquote&gt;
Security is a part of our work as developers. We need to ensure our applications against malicious attacks. SQL Injection is one of the most common possible attacks. Basically SQL Injection is one kind of attack that happens when someone injects SQL statements in our application. You can find a lot of info about SQL Injection attack. Basically you need to follow the security golden rule: "Filter input, Escape output".
&lt;/blockquote&gt;
&lt;p&gt;
He advocates the use of the PDO abstraction layer to filter out a lot of the issues. Using its prepared statements, you can easily strip out things that just adding slashes to user input wouldn't prevent. He also includes a reminder about database permissions - allowing only certain users the ability to, for example, delete can help provide one more level of security (in other words, don't use a "super user" in production).
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17514</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17514"/>
      <title>Gonzalo Ayuso's Blog: How to protect from SQL Injection with PHP</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Community News: Latest Releases from PHPClasses.org</title>
    <updated>2012-02-08T13:07:05Z</updated>
    <published>2012-02-08T13:06:58Z</published>
    <id>planetaki.com:1475:post:184330486</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17513"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184330486"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/okd6L7RDFOw/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html" rel="nofollow" target="_blank"&gt;Secure Get&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/5p58VAIHdfg/7326-PHP-Generate-data-URL-to-embed-binaries-in-links.html" rel="nofollow" target="_blank"&gt;Data URI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/76C4JIavkYs/7334-PHP-Display-database-query-results-in-a-HTML-table.html" rel="nofollow" target="_blank"&gt;ApPHP Data Grid&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/c3qsp5ijm4M/7332-PHP-Compose-generate-and-filter-HTML-forms.html" rel="nofollow" target="_blank"&gt;ApPHP Data Form&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/tzhOi8jFmkg/7307-PHP-Rewrite-request-URLs-split-with-backslashes.html" rel="nofollow" target="_blank"&gt;URI Rewrite Handler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/cKuPR4t4KBM/7331-PHP-Apply-several-types-of-image-effects.html" rel="nofollow" target="_blank"&gt;PHP Image Class&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/MHzzMmbRKnA/7303-PHP-Retrieve-MySQL-query-results-as-array-objects.html" rel="nofollow" target="_blank"&gt;SQL Object&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/oMKTTadRR5g/7325-PHP-Display-tab-menus-that-can-be-nested.html" rel="nofollow" target="_blank"&gt;ApPHP Tabs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://feedproxy.google.com/~r/phpclasses-xml/~3/bNXGmW_ZhMA/7330-PHP-Generate-classes-to-access-MySQL-database-tables.html" rel="nofollow" target="_blank"&gt;Fast DB Class Generator&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17513</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17513"/>
      <title>Community News: Latest Releases from PHPClasses.org</title>
      <updated>2012-02-08T13:07:05Z</updated>
    </source>
  </entry>
  <entry>
    <title>OpenGraph Reader with Template Output</title>
    <updated>2012-02-08T13:07:06Z</updated>
    <published>2012-02-08T07:59:59Z</published>
    <id>planetaki.com:1475:post:184330488</id>
    <link rel="alternate" href="http://feedproxy.google.com/~r/phpclasses-xml/~3/HcW_RpLWUIw/7345-PHP-Extract-and-display-OpenGraph-data-in-Web-pages.html"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184330488"/>
    <summary type="html">&lt;p&gt;Package:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.phpclasses.org/package/7345-PHP-Extract-and-display-OpenGraph-data-in-Web-pages.html" rel="nofollow" target="_blank"&gt;OpenGraph Reader with Template Output&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Summary: &lt;/p&gt;</summary>
    <content type="html">&lt;div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Package:&lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.phpclasses.org/package/7345-PHP-Extract-and-display-OpenGraph-data-in-Web-pages.html" rel="nofollow" target="_blank"&gt;OpenGraph Reader with Template Output&lt;/a&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Summary: &lt;/div&gt;
&lt;div&gt;&lt;span name="description"&gt;Extract and display OpenGraph data in Web pages&lt;/span&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Groups: &lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.phpclasses.org/browse/class/1.html" rel="nofollow" target="_blank"&gt;HTML&lt;/a&gt;, &lt;a href="http://www.phpclasses.org/browse/class/8.html" rel="nofollow" target="_blank"&gt;PHP 5&lt;/a&gt;, &lt;a href="http://www.phpclasses.org/browse/class/97.html" rel="nofollow" target="_blank"&gt;Social Networking&lt;/a&gt;, &lt;a href="http://www.phpclasses.org/browse/class/33.html" rel="nofollow" target="_blank"&gt;Web services&lt;/a&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Author: &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.phpclasses.org/browse/author/125180.html" rel="nofollow" target="_blank"&gt;Hensel Hartmann&lt;/a&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Description: &lt;/div&gt;
&lt;div&gt;This class can extract and display OpenGraph data in Web pages...&lt;br&gt;&lt;br&gt;
Read more at http://www.phpclasses.org/package/7345-PHP-Extract-and-display-OpenGraph-data-in-Web-pages.html&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i2UTCmcQFIIGhuMzKFrYjpxJM8M/0/da" rel="nofollow" target="_blank"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i2UTCmcQFIIGhuMzKFrYjpxJM8M/0/di" border="0" ismap onload="resizeImage(this)"&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i2UTCmcQFIIGhuMzKFrYjpxJM8M/1/da" rel="nofollow" target="_blank"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i2UTCmcQFIIGhuMzKFrYjpxJM8M/1/di" border="0" ismap onload="resizeImage(this)"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=HcW_RpLWUIw:pUHMVXg0ozI:yIl2AUoC8zA" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=yIl2AUoC8zA" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=HcW_RpLWUIw:pUHMVXg0ozI:7Q72WNTAKBA" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=7Q72WNTAKBA" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=HcW_RpLWUIw:pUHMVXg0ozI:qj6IDK7rITs" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=qj6IDK7rITs" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=HcW_RpLWUIw:pUHMVXg0ozI:gIN9vFwOqvQ" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?i=HcW_RpLWUIw:pUHMVXg0ozI:gIN9vFwOqvQ" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpclasses-xml/~4/HcW_RpLWUIw" height="1" width="1" onload="resizeImage(this)"&gt;</content>
    <source>
      <id>http://feedproxy.google.com/~r/phpclasses-xml/~3/HcW_RpLWUIw/7345-PHP-Extract-and-display-OpenGraph-data-in-Web-pages.html</id>
      <link rel="alternate" href="http://feedproxy.google.com/~r/phpclasses-xml/~3/HcW_RpLWUIw/7345-PHP-Extract-and-display-OpenGraph-data-in-Web-pages.html"/>
      <title>OpenGraph Reader with Template Output</title>
      <updated>2012-02-08T13:07:06Z</updated>
    </source>
  </entry>
  <entry>
    <title>Kurt Payne's Blog: User register_tick_function to profile your code</title>
    <updated>2012-02-07T20:46:39Z</updated>
    <published>2012-02-07T19:26:23Z</published>
    <id>planetaki.com:1475:post:184198776</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17512"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198776"/>
    <content type="html">&lt;p&gt;
&lt;i&gt;Kurt Payne&lt;/i&gt; has a new post to his blog showing how to &lt;a href="http://kpayne.me/2012/02/04/use-register_tick_function-to-profile-your-code/" rel="nofollow" target="_blank"&gt;use register_tick_function&lt;/a&gt; with a callback to help benchmark and profile your application to find its pain spots.
&lt;/p&gt;
&lt;blockquote&gt;
A profiler gives you the ability to trace the performance of your code through every function call and create an overview of your system's performance over a certain time period and helps you make intelligent decisions about where to look for problems. [...] But what if you're in an environment where you can't install [the xdebug or xhprof] extension? Luckily, php has a built-in function called &lt;a href="http://php.net/register_tick_function" rel="nofollow" target="_blank"&gt;register_tick_function&lt;/a&gt; that gives you a way to hook in to every user function that's called.  With this, you can write a profiler yourself.
&lt;/blockquote&gt;
&lt;p&gt;
A bit of sample code illustrates his method - it defines a "do_profile" function and assigns it with the &lt;a href="http://php.net/register_tick_function" rel="nofollow" target="_blank"&gt;register_tick_function&lt;/a&gt; call. This function generates a debug backtrace and echos out the function path it took to get to that spot (output is included). He provides code for a bit more useful profiling and points out that it could easily be graphed to help visualize the problems. Also included are a few caveats to watch out for when using this method of profiling.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17512</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17512"/>
      <title>Kurt Payne's Blog: User register_tick_function to profile your code</title>
      <updated>2012-02-07T20:46:39Z</updated>
    </source>
  </entry>
  <entry>
    <title>Chris Hartjes' Blog: How Not to Suck at PHP</title>
    <updated>2012-02-09T13:58:26Z</updated>
    <published>2012-02-07T18:48:47Z</published>
    <id>planetaki.com:1475:post:184198778</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17511"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198778"/>
    <content type="html">&lt;p&gt;
In &lt;a href="http://www.littlehart.net/atthekeyboard/2012/02/03/how-not-to-suck-at-php/" rel="nofollow" target="_blank"&gt;this recent post&lt;/a&gt; to his blog, &lt;i&gt;Chris Hartjes&lt;/i&gt; answers his request for a "rant topic" by responding to a question about "how to not suck at PHP" (from &lt;i&gt;Travis Northcutt&lt;/i&gt;).
&lt;/p&gt;
&lt;blockquote&gt;
I thought about this question for a while and have some thoughts on what it really means to know how to not suck at building things using PHP. In my never even remotely humble opinion I think the key is to understand what PHP is really good at.
&lt;/blockquote&gt;
&lt;p&gt;
He talks about how PHP had the early-adoption advantage at first with Apache, but how things have changed so much since then. Now, he proposes, PHP's popularity and usefulness is based on what it can do as a language without messing with frameworks at all. He's worried that, once someone picks up a framework, it'll become so ingrained that they won't know what "plain old PHP" can do (or how to work with it).
&lt;/p&gt;
&lt;blockquote&gt;
So my advice to Travis is that he should worry about learning to use PHP like glue and correctly identify the problems he is trying to solve NOW instead of worrying about the problems he might have to solve later. There will be time to fix your problems. Some of those will be solved by using tools that are not written in PHP, but PHP can still glue them together.
&lt;/blockquote&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17511</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17511"/>
      <title>Chris Hartjes' Blog: How Not to Suck at PHP</title>
      <updated>2012-02-09T13:58:26Z</updated>
    </source>
  </entry>
  <entry>
    <title>PHPMaster.com: Under the Hood of Yii's Component Architecture, Part 2</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-07T17:53:57Z</published>
    <id>planetaki.com:1475:post:184198780</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17510"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198780"/>
    <content type="html">&lt;p&gt;
Following up on their &lt;a href="http://phpdeveloper.org/news/17472" rel="nofollow" target="_blank"&gt;previous look&lt;/a&gt; at the component architecture of the Yii framework, PHPMaster has posted &lt;a href="http://phpmaster.com/yii-under-the-hood-2" rel="nofollow" target="_blank"&gt;this new tutorial&lt;/a&gt; showing how the framework allows you to do some event-based programming.
&lt;/p&gt;
&lt;blockquote&gt;
An application event is something that occurs which might be of interest to other bits of code. A standard event in most GUI applications would be a "click" event, but the sky's the limit and what events you define is really up to you. [...] The details can be provided by application-specific modules allowing you to keep individual requirements separate from your reusable code. Events allow you to attach a potentially unlimited amount of functionality without changing your core modules and components.
&lt;/blockquote&gt;
&lt;p&gt;
In his example, he shows how to create an event handler that is triggered when the user registers on the site. This event (CEvent) is then registered with the system and is attached via a call in the controller's "init" method.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17510</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17510"/>
      <title>PHPMaster.com: Under the Hood of Yii's Component Architecture, Part 2</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Learning JavaScript - Chris Shiflett</title>
    <updated>2012-02-07T20:46:41Z</updated>
    <published>2012-02-07T16:35:33Z</published>
    <id>planetaki.com:1475:post:184198790</id>
    <link rel="alternate" href="http://shiflett.org/blog/2012/feb/learning-javascript"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198790"/>
    <summary type="html">&lt;p&gt;One of my &lt;a href="http://shiflett.org/blog/2012/jan/2011-highlights" rel="nofollow" target="_blank"&gt;goals this year&lt;/a&gt; is to acquire new skills, so I've decided to start by &lt;a href="http://phpadvent.org/2009/you-really-need-to-learn-javascript-by-ed-finkler" rel="nofollow" target="_blank"&gt;learning JavaScript&lt;/a&gt;. As was the case when I &lt;a href="http://shiflett.org/blog/2009/oct/learning-html-and-css" rel="nofollow" target="_blank"&gt;learned html and CSS&lt;/a&gt;, it's a tricky endeavor, because I'm not exactly a beginner, and most stuff is geared toward beginners, which can make learning so inefficient that I lose my motivation.&lt;/p&gt;&lt;p&gt;I've decided to treat this effort just like I treat exercise, which is to focus on rhythm and consistency above all else. &lt;a href="http://lifehacker.com/281626/jerry-seinfelds-productivity-secret" rel="nofollow" target="_blank"&gt;Don't break the chain&lt;/a&gt;. My days are packed, but I'm setting aside at least half an hour each day to do something related to learning JavaScript. As long as I hold myself to that and continue making progress, I'll be happy.&lt;/p&gt;&lt;p&gt;Why am I telling you this? One reason is to put myself on the hook, and another reason is so that I can share what I'm doing to learn JavaScript, in case you want to join me. (This also means those of you who have already been down this path can offer your sage advice.)&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;One of my &lt;a href="http://shiflett.org/blog/2012/jan/2011-highlights" rel="nofollow" target="_blank"&gt;goals this year&lt;/a&gt; is to acquire new skills, so I've decided to start by &lt;a href="http://phpadvent.org/2009/you-really-need-to-learn-javascript-by-ed-finkler" rel="nofollow" target="_blank"&gt;learning JavaScript&lt;/a&gt;. As was the case when I &lt;a href="http://shiflett.org/blog/2009/oct/learning-html-and-css" rel="nofollow" target="_blank"&gt;learned html and CSS&lt;/a&gt;, it's a tricky endeavor, because I'm not exactly a beginner, and most stuff is geared toward beginners, which can make learning so inefficient that I lose my motivation.&lt;/p&gt;

&lt;p&gt;I've decided to treat this effort just like I treat exercise, which is to focus on rhythm and consistency above all else. &lt;a href="http://lifehacker.com/281626/jerry-seinfelds-productivity-secret" rel="nofollow" target="_blank"&gt;Don't break the chain&lt;/a&gt;. My days are packed, but I'm setting aside at least half an hour each day to do something related to learning JavaScript. As long as I hold myself to that and continue making progress, I'll be happy.&lt;/p&gt;

&lt;p&gt;Why am I telling you this? One reason is to put myself on the hook, and another reason is so that I can share what I'm doing to learn JavaScript, in case you want to join me. (This also means those of you who have already been down this path can offer your sage advice.)&lt;/p&gt;

&lt;p&gt;Since I've just started, I'm currently only using two sources:&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;&lt;a href="http://eloquentjavascript.net/contents.html" rel="nofollow" target="_blank"&gt;Eloquent JavaScript&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;This not only seems like a good introduction, but it also offers interactive exercises, which I think is going to make a big difference.&lt;/dd&gt;
    &lt;dt&gt;&lt;a href="http://www.codecademy.com/profiles/shiflett" rel="nofollow" target="_blank"&gt;Codecademy&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;As you can see, I've already gone through some of the courses on Codecademy. The quality seems to be hit or miss, but I like the concept and the platform, and it allows me to dedicate very little time and still feel like I've made some progress.&lt;/dd&gt;
&lt;/dl&gt;&lt;p&gt;I also have a copy of &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0596517742/ref=nosim/chrisshiflett-20" rel="nofollow" target="_blank"&gt;JavaScript: The Good Parts&lt;/a&gt; that &lt;a href="http://oreilly.com/" rel="nofollow" target="_blank"&gt;O'Reilly&lt;/a&gt; sent me back when they wanted &lt;a href="http://seancoates.com/" rel="nofollow" target="_blank"&gt;Sean&lt;/a&gt; and I to write a similar book for PHP. I'm not sure if it's best used as a guide or a reference, though.&lt;/p&gt;

&lt;p&gt;If you're a developer and don't already consider yourself a JavaScript expert, won't you join me?&lt;/p&gt;</content>
    <source>
      <id>http://shiflett.org/blog/2012/feb/learning-javascript</id>
      <link rel="alternate" href="http://shiflett.org/blog/2012/feb/learning-javascript"/>
      <title>Learning JavaScript - Chris Shiflett</title>
      <updated>2012-02-07T20:46:41Z</updated>
    </source>
  </entry>
  <entry>
    <title>NetTuts.com: Turbocharge your Website with Memcached</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-07T16:06:40Z</published>
    <id>planetaki.com:1475:post:184198782</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17509"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198782"/>
    <content type="html">&lt;p&gt;
On the NetTuts.com site there's &lt;a href="http://net.tutsplus.com/tutorials/php/faster-php-mysql-websites-in-minutes/" rel="nofollow" target="_blank"&gt;a new tutorial&lt;/a&gt; showing you how to introduce the Memcached tool to your application - a quick and easy way to cache data and optimize performance.
&lt;/p&gt;
&lt;blockquote&gt;
Your latest PHP/MySQL website is finally online. And it's awesome. But it's not as fast as you want it to be, because of the many SQL queries running every time a page is generated. And above that, you have the feeling it will not scale well under heavy loads. And you are most likely right. In this tutorial, we will see how you can greatly improve your website's responsiveness [...] by implementing a cache layer between your code and your database. The good news is it is fairly easy, and can be done in a few minutes!
&lt;/blockquote&gt;
&lt;p&gt;
They help you get the memcached server installed (a one-liner in most linux distributions) and how to install the memcached extension using &lt;a href="http://pecl.php.net" rel="nofollow" target="_blank"&gt;PECL&lt;/a&gt;. Code is included showing you how to connect to the server, store data into the cache based on a generated key and how to pull the same data back out.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17509</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17509"/>
      <title>NetTuts.com: Turbocharge your Website with Memcached</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Brandon Savage's Blog: New Rockville PHP Group</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-07T15:44:07Z</published>
    <id>planetaki.com:1475:post:184198784</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17508"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198784"/>
    <content type="html">&lt;p&gt;
If you're in the Montgomery County, Maryland area and are a PHP developer looking to reach out and meet others, you should &lt;a href="http://www.brandonsavage.net/new-rockville-php-group/" rel="nofollow" target="_blank"&gt;check out this new post&lt;/a&gt; from &lt;i&gt;Brandon Savage&lt;/i&gt;. He's trying to start up a user group in that area.
&lt;/p&gt;
&lt;blockquote&gt;
There are lots of active, vibrant developer groups in the DC area: &lt;a href="http://www.meetup.com/DC-PHP/" rel="nofollow" target="_blank"&gt;DC PHP&lt;/a&gt;, &lt;a href="http://www.baltimorephp.org/" rel="nofollow" target="_blank"&gt;Baltimore PHP&lt;/a&gt;, and the &lt;a href="http://www.meetup.com/FredWebTech/" rel="nofollow" target="_blank"&gt;Frederick Web Tech&lt;/a&gt; group. The DC PHP Beverage Subgroup meets monthly in Northern Virginia. But in the middle between all these groups lies Montgomery County, Maryland. In that area live hundreds of developers who struggle to reach any of the developer groups in the area on a weeknight. It's time to build them something of their own.
&lt;/blockquote&gt;
&lt;p&gt;
His focus is the Montgomery County area so as not to directly take away from any of the other groups in the area people already attend. If you're interested in a group in that area, &lt;a href="http://www.brandonsavage.net/new-rockville-php-group/" rel="nofollow" target="_blank"&gt;leave him a comment&lt;/a&gt; or &lt;a href="http://www.twitter.com/brandonsavage" rel="nofollow" target="_blank"&gt;hit him up on Twitter&lt;/a&gt;.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17508</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17508"/>
      <title>Brandon Savage's Blog: New Rockville PHP Group</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Voices of the ElePHPant: Interview with Elizabeth Naramore</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-07T14:16:18Z</published>
    <id>planetaki.com:1475:post:184198786</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17507"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198786"/>
    <content type="html">&lt;p&gt;
The Voices of the ElePHPant podcast has released their latest episode (one recorded a while back) - an &lt;a href="http://voicesoftheelephpant.com/2011/08/02/interview-with-elizabeth-naramore" rel="nofollow" target="_blank"&gt;interview with Elizabeth Naramore&lt;/a&gt;, a well-known PHP community member.
&lt;/p&gt;
&lt;blockquote&gt;
This episode was recorded in 2011. Elizabeth now works for &lt;a href="http://orchestra.io/" rel="nofollow" target="_blank"&gt;Orchestra.io&lt;/a&gt;. It's still a fun interview though because...well, it's Elizabeth.
&lt;/blockquote&gt;
&lt;p&gt;
You can find her blog &lt;a href="http://naramore.net/blog/" rel="nofollow" target="_blank"&gt;here&lt;/a&gt; and follow her on Twitter &lt;a href="https://twitter.com/elizabethn" rel="nofollow" target="_blank"&gt;here&lt;/a&gt;. If you'd like to listen to this latest episode, you can either &lt;a href="http://voicesoftheelephpant.com/2011/08/02/interview-with-elizabeth-naramore/" rel="nofollow" target="_blank"&gt;listen in-page&lt;/a&gt; or &lt;a href="http://voices.of.the.elephpant.s3.amazonaws.com/vote_038.mp3" rel="nofollow" target="_blank"&gt;download the mp3 directly&lt;/a&gt;.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17507</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17507"/>
      <title>Voices of the ElePHPant: Interview with Elizabeth Naramore</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>Community News: Latest PECL Releases for 02.07.2012</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-07T13:07:40Z</published>
    <id>planetaki.com:1475:post:184198788</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17506"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198788"/>
    <content type="html">Latest PECL Releases:
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://pecl.php.net/get/sundown/0.1.0b" rel="nofollow" target="_blank"&gt;sundown 0.1.0b&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://pecl.php.net/get/yaf/2.1.7" rel="nofollow" target="_blank"&gt;yaf 2.1.7&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://pecl.php.net/get/haru/1.0.3" rel="nofollow" target="_blank"&gt;haru 1.0.3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://pecl.php.net/get/mysqlnd_ms/1.2.2" rel="nofollow" target="_blank"&gt;mysqlnd_ms 1.2.2&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17506</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17506"/>
      <title>Community News: Latest PECL Releases for 02.07.2012</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
  <entry>
    <title>JavaScript Days - Meet the experts - Qafoo - PHP</title>
    <updated>2012-02-07T12:25:58Z</updated>
    <published>2012-02-07T07:25:24Z</published>
    <id>planetaki.com:1475:post:184117531</id>
    <link rel="alternate" href="http://qafoo.com/blog/023_javascript_days_three_days_of_pure_knowledge.html"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184117531"/>
    <content type="html">Qafoo is happy to announce the three day JavaScript event taking place in Cologne from 12. - 14. March 2012. Presented by "entwickler akademie" (PHP-Summit) and supported by Qafoo it will be an amazing event fully packed with expert knowledge for all your JavaScript needs.</content>
    <source>
      <id>http://qafoo.com/blog/023_javascript_days_three_days_of_pure_knowledge.html</id>
      <link rel="alternate" href="http://qafoo.com/blog/023_javascript_days_three_days_of_pure_knowledge.html"/>
      <title>JavaScript Days - Meet the experts - Qafoo - PHP</title>
      <updated>2012-02-07T12:25:58Z</updated>
    </source>
  </entry>
  <entry>
    <title>Secure Get</title>
    <updated>2012-02-07T12:25:59Z</updated>
    <published>2012-02-07T06:37:09Z</published>
    <id>planetaki.com:1475:post:184117537</id>
    <link rel="alternate" href="http://feedproxy.google.com/~r/phpclasses-xml/~3/okd6L7RDFOw/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184117537"/>
    <summary type="html">&lt;p&gt;Package:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.phpclasses.org/package/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html" rel="nofollow" target="_blank"&gt;Secure Get&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Summary: &lt;/p&gt;</summary>
    <content type="html">&lt;div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Package:&lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.phpclasses.org/package/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html" rel="nofollow" target="_blank"&gt;Secure Get&lt;/a&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Summary: &lt;/div&gt;
&lt;div&gt;&lt;span name="description"&gt;Generate and validate URLs to prevent tampering&lt;/span&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Groups: &lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.phpclasses.org/browse/class/8.html" rel="nofollow" target="_blank"&gt;PHP 5&lt;/a&gt;, &lt;a href="http://www.phpclasses.org/browse/class/78.html" rel="nofollow" target="_blank"&gt;Security&lt;/a&gt;, &lt;a href="http://www.phpclasses.org/browse/class/63.html" rel="nofollow" target="_blank"&gt;Validation&lt;/a&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Author: &lt;/div&gt;
&lt;div&gt;&lt;a href="http://www.phpclasses.org/browse/author/206105.html" rel="nofollow" target="_blank"&gt;Gianluca Zanferrari&lt;/a&gt;&lt;/div&gt;
&lt;div style="font-weight: bold; font-size: larger; margin-top: 1ex;"&gt;Description: &lt;/div&gt;
&lt;div&gt;This class can generate and validate URLs to prevent tampering...&lt;br&gt;&lt;br&gt;
Read more at http://www.phpclasses.org/package/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AmHZatO5nsge4txDxq2wC2Gpnfo/0/da" rel="nofollow" target="_blank"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AmHZatO5nsge4txDxq2wC2Gpnfo/0/di" border="0" ismap onload="resizeImage(this)"&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AmHZatO5nsge4txDxq2wC2Gpnfo/1/da" rel="nofollow" target="_blank"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AmHZatO5nsge4txDxq2wC2Gpnfo/1/di" border="0" ismap onload="resizeImage(this)"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=okd6L7RDFOw:6BrFciXF3O4:yIl2AUoC8zA" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=yIl2AUoC8zA" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=okd6L7RDFOw:6BrFciXF3O4:7Q72WNTAKBA" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=7Q72WNTAKBA" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=okd6L7RDFOw:6BrFciXF3O4:qj6IDK7rITs" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?d=qj6IDK7rITs" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/phpclasses-xml?a=okd6L7RDFOw:6BrFciXF3O4:gIN9vFwOqvQ" rel="nofollow" target="_blank"&gt;&lt;img src="http://feeds.feedburner.com/~ff/phpclasses-xml?i=okd6L7RDFOw:6BrFciXF3O4:gIN9vFwOqvQ" border="0" onload="resizeImage(this)"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpclasses-xml/~4/okd6L7RDFOw" height="1" width="1" onload="resizeImage(this)"&gt;</content>
    <source>
      <id>http://feedproxy.google.com/~r/phpclasses-xml/~3/okd6L7RDFOw/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html</id>
      <link rel="alternate" href="http://feedproxy.google.com/~r/phpclasses-xml/~3/okd6L7RDFOw/7336-PHP-Generate-and-validate-URLs-to-prevent-tampering.html"/>
      <title>Secure Get</title>
      <updated>2012-02-07T12:25:59Z</updated>
    </source>
  </entry>
  <entry>
    <title>The MicroPHP Follow-up FAQ - Ed Finkler</title>
    <updated>2012-02-07T20:46:42Z</updated>
    <published>2012-02-07T05:00:00Z</published>
    <id>planetaki.com:1475:post:184198792</id>
    <link rel="alternate" href="http://funkatron.com/posts/the-microphp-follow-up-faq.html"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184198792"/>
    <summary type="html">&lt;p&gt;My previous post, &lt;a href="http://funkatron.com/posts/the-microphp-manifesto.html" rel="nofollow" target="_blank"&gt;The MicroPHP Manifesto&lt;/a&gt;, resulted in much excitement. In between fits of rage and crying, I found some time to answer folks questions, and also discuss the topic on &lt;a href="http://devhell.info" rel="nofollow" target="_blank"&gt;the /dev/hell podcast&lt;/a&gt; with my cohost &lt;a href="http://littlehart.net" rel="nofollow" target="_blank"&gt;Chris Hartjes&lt;/a&gt;. To summarize and address some of the common questions, I felt I should write a small FAQ.&lt;/p&gt;&lt;p&gt;Got a question? &lt;a href="/contact.html" rel="nofollow" target="_blank"&gt;Ask me&lt;/a&gt;. I&amp;rsquo;ll add additional entries here as things come up.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;No.&lt;/strong&gt; I think sometimes they&amp;rsquo;re very appropriate. It depends on your needs: will the pros you get with library/component/framework X outweigh the negatives? If so, it&amp;rsquo;s probably a good choice. If not, it&amp;rsquo;s probably not.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;My previous post, &lt;a href="http://funkatron.com/posts/the-microphp-manifesto.html" rel="nofollow" target="_blank"&gt;The MicroPHP Manifesto&lt;/a&gt;, resulted in much excitement. In between fits of rage and crying, I found some time to answer folks questions, and also discuss the topic on &lt;a href="http://devhell.info" rel="nofollow" target="_blank"&gt;the /dev/hell podcast&lt;/a&gt; with my cohost &lt;a href="http://littlehart.net" rel="nofollow" target="_blank"&gt;Chris Hartjes&lt;/a&gt;. To summarize and address some of the common questions, I felt I should write a small FAQ.&lt;/p&gt;

&lt;p&gt;Got a question? &lt;a href="/contact.html" rel="nofollow" target="_blank"&gt;Ask me&lt;/a&gt;. I&amp;rsquo;ll add additional entries here as things come up.&lt;/p&gt;

&lt;hr&gt;&lt;h3 id="so-you-think-full-stack-frameworks-suck"&gt;So you think full-stack frameworks suck?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;No.&lt;/strong&gt; I think sometimes they&amp;rsquo;re very appropriate. It depends on your needs: will the pros you get with library/component/framework X outweigh the negatives? If so, it&amp;rsquo;s probably a good choice. If not, it&amp;rsquo;s probably not.&lt;/p&gt;

&lt;h3 id="you-need-a-large-framework-to-enforce-best-practices"&gt;You need a large framework to enforce best practices!&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Sometimes you do.&lt;/strong&gt; My experience at FictiveKin has been that our small team is able to work faster, smarter, and more efficiently by minimizing the size of our PHP codebase and removing all unnecessary layers of abstraction. In some cases that meant not doing certain tasks in PHP anymore (almost all html generation was moved to the browser). In others, it meant ripping out a bunch of code and replacing it with a simpler solution that required far less boilerplate and replication. We still kept some code that had more dependencies than we&amp;rsquo;d like because the wins we get with it outweigh the downsides.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ve certainly seen situations where choosing a popular full-stack framework is a better idea. As teams get larger, enforcement of coding standards and not doing Dumb Shit becomes harder. Hiring and training engineers is usually easier with popular, full-stack frameworks. On the other hand, we&amp;rsquo;ve found that devs coming from non-PHP backgrounds liked how quickly they can be productive with simpler libraries and frameworks. Your mileage may vary.&lt;/p&gt;

&lt;h3 id="so-youre-saying-we-should-write-our-own-frameworklibrariescomponents"&gt;So you&amp;rsquo;re saying we should write our own framework/libraries/components?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Good God no.&lt;/strong&gt; There is lots of very good, well-written code out there that&amp;rsquo;s already solved the problem you&amp;rsquo;re facing. Most of the time I don&amp;rsquo;t want to try to solve an issue like oAuth request signing, because it makes my brain hurt and I&amp;rsquo;d rather focus on building stuff. So, I&amp;rsquo;ll look for an existing solution that fits my needs first. I sometimes choose to write something from scratch because the existing solutions (that I can find &amp;ndash; discovery is a whole other issue) don&amp;rsquo;t fit well with my existing application structure, or I feel it will introduce more maintenance issues than I&amp;rsquo;m comfortable with.&lt;/p&gt;

&lt;h3 id="you-should-check-out-my-microframework"&gt;You should check out my microframework!&lt;/h3&gt;

&lt;p&gt;Sure. Generally I think &lt;strong&gt;people should work on writing libraries/components&lt;/strong&gt;, personally. We have plenty of framework choices. But this is PHP, so you have to write your own framework sometime.&lt;/p&gt;

&lt;h3 id="is-x-a-microframework"&gt;Is &amp;ldquo;X&amp;rdquo; a microframework?&lt;/h3&gt;

&lt;p&gt;Long answer: I tend to believe that the reference implementation of &amp;ldquo;microframework&amp;rdquo; is &lt;a href="http://www.sinatrarb.com/" rel="nofollow" target="_blank"&gt;Sinatra&lt;/a&gt;. Routing, request/response objects, sessions, maybe some hooks for template rendering. Generally I think the inclusion of an ORM is a clear sign of non-micro-ness.&lt;/p&gt;

&lt;p&gt;Short answer: &lt;strong&gt;I don&amp;rsquo;t care&lt;/strong&gt;, really &amp;ndash; and you shouldn&amp;rsquo;t either. If it works for you, awesome.&lt;/p&gt;

&lt;h3 id="how-do-you-choose-what-gets-listed-in-the-microphp-code-collectionhttpmicrophporgcodehtml"&gt;How do you choose what gets listed in &lt;a href="http://microphp.org/code.html" rel="nofollow" target="_blank"&gt;the MicroPHP code collection&lt;/a&gt;?&lt;/h3&gt;

&lt;p&gt;Generally I think about these things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Does it try to solve one task, or a small set of closely related tasks?&lt;/li&gt;
  &lt;li&gt;Would it be easy to use with almost any existing code base?&lt;/li&gt;
  &lt;li&gt;Is the code as short as it can be, while still being clear and easy to follow?&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;None of these are hard and fast rules, though. I encourage people to &lt;a href="mailto:coj@funkatron.com?subject=MicroPHP" rel="nofollow" target="_blank"&gt;share things with me&lt;/a&gt; they think others would find useful.&lt;/p&gt;

&lt;h3 id="why-do-you-hate-rush"&gt;Why do you hate Rush?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;I don&amp;rsquo;t.&lt;/strong&gt; I like some of their songs, but don&amp;rsquo;t own any of their work. I also think they&amp;rsquo;re incredibly smart, talented musicians. My point was to suggest there are other valid approaches, not to reject complexity outright.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/FunkatroncomPhpPosts/~4/HmZ9eS8IKd0" height="1" width="1" onload="resizeImage(this)"&gt;</content>
    <source>
      <id>http://funkatron.com/posts/the-microphp-follow-up-faq.html</id>
      <link rel="alternate" href="http://funkatron.com/posts/the-microphp-follow-up-faq.html"/>
      <title>The MicroPHP Follow-up FAQ - Ed Finkler</title>
      <updated>2012-02-07T20:46:42Z</updated>
    </source>
  </entry>
  <entry>
    <title>JavaScript Days 2012 - Bastian</title>
    <updated>2012-02-07T12:25:58Z</updated>
    <published>2012-02-07T00:16:16Z</published>
    <id>planetaki.com:1475:post:184117533</id>
    <link rel="alternate" href="http://blog.bastian-feder.de/blog/030_javascriptdays.html"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184117533"/>
    <content type="html">Packed with a huge number of workshops, hosted by well known speakers like Douglas Crockfort, Christian Johanson, Kore Nordmann or Thorsten Rinne the 1st Edition of the JavaScript Days in cologne already sounds like one of those 'need to be there' events. For those who act fast, &lt;a href="https://www.entwickler.com/ssl/formtool/index.php?id=220&amp;amp;lang=de" rel="nofollow" target="_blank"&gt;the early bird period&lt;/a&gt; is still ongoing and open until next Saturday, 10th of February.</content>
    <source>
      <id>http://blog.bastian-feder.de/blog/030_javascriptdays.html</id>
      <link rel="alternate" href="http://blog.bastian-feder.de/blog/030_javascriptdays.html"/>
      <title>JavaScript Days 2012 - Bastian</title>
      <updated>2012-02-07T12:25:58Z</updated>
    </source>
  </entry>
  <entry>
    <title>Content Security Policy update - Evert Pot</title>
    <updated>2012-02-07T12:25:58Z</updated>
    <published>2012-02-06T22:57:04Z</published>
    <id>planetaki.com:1475:post:184117535</id>
    <link rel="alternate" href="http://feedproxy.google.com/~r/bijsterespoor/~3/B_1ejh3GD5c/content-security-policy-update"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184117535"/>
    <summary type="html">&lt;p&gt;A quick update about CSP. Browsers are well on their way to all adopt the &lt;a href="https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html" rel="nofollow" target="_blank"&gt;specification.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;An early draft was already adopted by Firefox 4, and I just found out that it's also working in Chrome, Safari and IE 10.&lt;/p&gt;&lt;p&gt;IE10 and FF are using the following header:&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;A quick update about CSP. Browsers are well on their way to all adopt the &lt;a href="https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html" rel="nofollow" target="_blank"&gt;specification.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An early draft was already adopted by Firefox 4, and I just found out that it's also working in Chrome, Safari and IE 10.&lt;/p&gt;

&lt;p&gt;IE10 and FF are using the following header:&lt;/p&gt;

&lt;div class="syntax_highlight"&gt;&lt;pre class="php"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;X&lt;span class="sy0"&gt;-&lt;/span&gt;Content&lt;span class="sy0"&gt;-&lt;/span&gt;Security&lt;span class="sy0"&gt;-&lt;/span&gt;Policy&lt;span class="sy0"&gt;:&lt;/span&gt; default&lt;span class="sy0"&gt;-&lt;/span&gt;src &lt;span class="st_h"&gt;'self'&lt;/span&gt;
&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;While Safari and Chrome use:&lt;/p&gt;

&lt;div class="syntax_highlight"&gt;&lt;pre class="php"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;X&lt;span class="sy0"&gt;-&lt;/span&gt;Webkit&lt;span class="sy0"&gt;-&lt;/span&gt;CSP&lt;span class="sy0"&gt;:&lt;/span&gt; default&lt;span class="sy0"&gt;-&lt;/span&gt;src &lt;span class="st_h"&gt;'self'&lt;/span&gt;
&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;When the specification is finalized, the X- will be dropped, and it will simply be 'Content-Security-Policy'.&lt;/p&gt;

&lt;h3&gt;A call for support&lt;/h3&gt;

&lt;p&gt;Hi Developers! Start implementing this feature! It's important for the future and security of the web. The web's biggest vulnerability, from what I understand, is still &lt;a href="https://en.wikipedia.org/wiki/Cross-site_scripting" rel="nofollow" target="_blank"&gt;XSS&lt;/a&gt;, but if people start to properly implement CSP, XSS can effectively be a thing from the past.&lt;/p&gt;

&lt;p&gt;So even if you don't want to risk using CSP on a production environment, at least consider adding the headers in your development environment. It will force you to write better code, by not embedding javascript directly into the html source. By considering this right now, you will also make it much easier if you do decide to adopt CSP at some point in the future.&lt;/p&gt;

&lt;p&gt;I'm implementing CSP full-on in a new project, and one of the things I've noticed already is that some of the javascript we embed from 3rd parties use eval() and inline html events (onclick &amp;amp; friends). For the sake of security we will most likely decide to only use 3rd party code if they are indeed CSP-compatible.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bijsterespoor/~4/B_1ejh3GD5c" height="1" width="1" onload="resizeImage(this)"&gt;</content>
    <source>
      <id>http://feedproxy.google.com/~r/bijsterespoor/~3/B_1ejh3GD5c/content-security-policy-update</id>
      <link rel="alternate" href="http://feedproxy.google.com/~r/bijsterespoor/~3/B_1ejh3GD5c/content-security-policy-update"/>
      <title>Content Security Policy update - Evert Pot</title>
      <updated>2012-02-07T12:25:58Z</updated>
    </source>
  </entry>
  <entry>
    <title>Ben Selby's Blog: DocBlox Plugin For Sublime Text 2</title>
    <updated>2012-02-08T21:39:07Z</updated>
    <published>2012-02-06T21:39:34Z</published>
    <id>planetaki.com:1475:post:184060504</id>
    <link rel="alternate" href="http://www.phpdeveloper.org/news/17505"/>
    <link rel="full" href="http://www.planetaki.com/php/posts/184060504"/>
    <content type="html">&lt;p&gt;
&lt;i&gt;Ben Selby&lt;/i&gt; has &lt;a href="http://www.soulbroken.co.uk/blog/2012/02/docblox-plugin-for-sublime-text-2/" rel="nofollow" target="_blank"&gt;released a Sublime Text 2 plugin&lt;/a&gt; for the popular PHP-based documentation generation project &lt;a href="http://www.docblox-project.org/" rel="nofollow" target="_blank"&gt;DocBlox&lt;/a&gt;.
&lt;/p&gt;
&lt;blockquote&gt;
It seems that the editor of the moment is Sublime Text 2 and sadly I have to tip my hat to Gary Rockett for showing it off to me one day.. Since that day, I've been a 100% convert. [...] So, I decided to peak into the &lt;a href="https://github.com/stuartherbert/sublime-phpunit" rel="nofollow" target="_blank"&gt;PHPUnit [plugin from Stuart Herbert]&lt;/a&gt; to see if I could create a &lt;a href="http://www.docblox-project.org/" rel="nofollow" target="_blank"&gt;DocBlox&lt;/a&gt; Plugin. It turns out you have to write Plugins in Python, which is interesting, since I know very little python. There seemed to be enough code there to get me going, so I now have a working &lt;a href="https://github.com/benmatselby/sublime-docblox" rel="nofollow" target="_blank"&gt;DocBlox Plugin&lt;/a&gt;.
&lt;/blockquote&gt;
&lt;p&gt;
The result is a plugin that, once installed gives you a new context menu option to "Generate documentation" for the selected file. The console shows the progress of the build. You can get the plugin from &lt;a href="http://wbond.net/sublime_packages/package_control" rel="nofollow" target="_blank"&gt;Package Control&lt;/a&gt; or by &lt;a href="https://github.com/benmatselby/sublime-docblox" rel="nofollow" target="_blank"&gt;grabbing it from github directly&lt;/a&gt;.
&lt;/p&gt;</content>
    <source>
      <id>http://www.phpdeveloper.org/news/17505</id>
      <link rel="alternate" href="http://www.phpdeveloper.org/news/17505"/>
      <title>Ben Selby's Blog: DocBlox Plugin For Sublime Text 2</title>
      <updated>2012-02-08T21:39:07Z</updated>
    </source>
  </entry>
</feed>

