<?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>Wed, 22 May 2013 19:09:41 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney's Blog: Why Modules?]]></title>
      <guid>http://www.phpdeveloper.org/news/17887</guid>
      <link>http://www.phpdeveloper.org/news/17887</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinnney</i> has a new post to his blog filling in some additional details behind a series he's been doing on modules in the Zend Framework v2 releases. In <a href="http://mwop.net/blog/2012-04-30-why-modules.html">this new post</a> he answers the question "why modules?"
</p>
<blockquote>
I've blogged about <a href="http://mwop.net/blog/267-Getting-started-writing-ZF2-modules.html">getting started with ZF2 modules</a>, as well as <a href="http://mwop.net/blog/zf2-modules-you-can-use-today.html">about ZF2 modules you can already use</a>. But after fielding some questions recently, I realized I should talk about why modules are important for the ZF2 ecosystem.
</blockquote>
<p>
He covers some of the history of the idea, starting with the MVC rework/refactor of the framework and the desire from several people to have self-contained components that could be native to a ZF app. ZFv1 made it work (kinda) with Zend_Application, but it was difficult so solving this became a main focus of ZFv2. He illustrates with a "building block" metaphor based on his current blog site (currently being refactored too).
</p>
<blockquote>
This kind of building-block development makes your job easier as a developer - and allows you to focus on the bits and pieces that make your site unique. As such, I truly feel that modules are the most important new feature of ZF2.
</blockquote>]]></description>
      <pubDate>Tue, 01 May 2012 08:04:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: Don't Ignore Your WordPress Footer]]></title>
      <guid>http://www.phpdeveloper.org/news/11337</guid>
      <link>http://www.phpdeveloper.org/news/11337</link>
      <description><![CDATA[<p>
The NETTUTS.com site recommends that you <a href="http://nettuts.com/tutorials/wordpress/dont-ignore-your-wordpress-footer/">don't ignore your WordPress footer</a> and instead enhance it with some simple HTML and CSS.
</p>
<blockquote>
Footers are often an overlooked aspect of designing a site - when they can actually be kinda handy and informative. In this tutorial we'll go through some options you can have for your WordPress site.
</blockquote>
<p>
They take different bits of information - archived posts, the "about" message and some links - and arrange them in a sidebar sort of format. This is then styled to work more like a footer, moving it down to the bottom of the page and laid out horizontally. The <a href="http://nettuts.s3.amazonaws.com/112_wordPressFooter/WPFooter.zip">complete code</a> for the tutorial can be dropped easily into the wp-content folder (named "WPFooter").
</p>]]></description>
      <pubDate>Tue, 04 Nov 2008 07:50:47 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Debuggable Blog: Code Insults Round 1 - Why switch blocks are dumb]]></title>
      <guid>http://www.phpdeveloper.org/news/11305</guid>
      <link>http://www.phpdeveloper.org/news/11305</link>
      <description><![CDATA[<p>
In the first of his "<a href="http://debuggable.com/posts/i-will-insult-your-code!:48ac91d1-ca78-4e95-ad66-1e854834cda3">I will insult your code</a>" series, <i>Nate Abele</i> looks at <a href="http://debuggable.com/posts/code-insults-round-1---why-switch-blocks-are-dumb:4901d363-d210-482c-9794-65bd4834cda3">this submitted code</a> and points out that maybe blocks of switch/case statements aren't such a good idea after all.
</p> 
<blockquote>
The entire submission is actually two files, which together comprise a console script for interacting with a web service (the names of the entrants have been withheld to protect the identities of the guilty). Rather than examine the full entry, we're going to take a look at one part which I find comes up fairly often: switch block overkill.
</blockquote>
<p>
The example he's talking about has a switch statement with eight different cases under it, most of them just setting two properties on the current class. Its used ot map command line parameters to their correct properties. <i>Nate</i> suggests a bit different method - still using switch/case but pulling the properties to be assigned from an array of options rather than hard-coding them into the evaluation.
</p>]]></description>
      <pubDate>Wed, 29 Oct 2008 08:48:28 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lars Strojny's Blog: NOWDOC + double quotes = HEREDOC]]></title>
      <guid>http://www.phpdeveloper.org/news/9974</guid>
      <link>http://www.phpdeveloper.org/news/9974</link>
      <description><![CDATA[<p>
<i>Lars Strojny</i> has <a href="http://usrportage.de/archives/884-NOWDOC-+-double-quotes-HEREDOC.html">posted about</a> a the new element that's been introduced in the PHP 5.3 branch - NOWDOC:
</p>
<blockquote>
PHP 5.3 introduces a new syntax element, NOWDOC. If you know HEREDOC, NOWDOC is easy to understand: it is in fact HEREDOC taken literally. Whily variables are expanded in HEREDOC, in NOWDOC they are not.
</blockquote>
<p>
NOWDOC is basically a HEREDOC except for one thing - no parsing is done inside of it, making it good for echoing out PHP code (that would otherwise need to be escaped all over).
</p>]]></description>
      <pubDate>Tue, 15 Apr 2008 10:25:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPRiot.com: Creating Custom Block Tags in Smarty]]></title>
      <guid>http://www.phpdeveloper.org/news/9556</guid>
      <link>http://www.phpdeveloper.org/news/9556</link>
      <description><![CDATA[<p>
On the {H{Riot.com site today, there's <a href="http://www.phpriot.com/articles/smarty-blocks">a new tutorial</a> talking about how to customize your site's Smarty templates a bit more using external plug-ins, specifically one for making those "code block" sections seen all over the web.
</p>
<blockquote>
We will first learn how block plug-ins can be used in your templates, and then learn how to create our own. Once we know how to create a block plug-in, we will cover a practical example that will show you how block plug-ins can effectively be used in your own web sites.
</blockquote>
<p>
<a href="http://www.phpriot.com/articles/smarty-blocks">The tutorial</a> assumes that you already have Smarty installed and that you're familiar enough with it to know how to work with the plug-in system right away. They include some samples of how it can be used (a default block, formatting it with HTML) and, of course, how to integrate this (PHP code and all) into your template and push your content into it.
</p>]]></description>
      <pubDate>Mon, 04 Feb 2008 07:56:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brent Meshier's Blog: Blocking visitors by country using PHP & MySQL]]></title>
      <guid>http://www.phpdeveloper.org/news/7687</guid>
      <link>http://www.phpdeveloper.org/news/7687</link>
      <description><![CDATA[<p>
In a <a href="http://meshier.com/2007/04/21/blocking-visitors-by-country-using-php-mysql/">quick new post</a> from <i>Brent Meshier</i> today, he shows us how, with the help of a <a href="http://meshier.com/wp-content/uploads/2007/04/ip-to-country.csv">database CVS file</a>, to block visitors to your site from certain locales.
</p>
<blockquote>
A client asked me last night if it was possible to block certain countries from accessing his website. He's concerned about the "axis of evil" and their comrades downloading his software. The task is easily accomplished, although it's like using a sledge hammer to tap in a finishing nail. He didn't seem too concerned that we could accidentally block Uzbekistan in the process. Unfortunately his entire site uses plain .html files, no dynamic scripting. This led me to using a slightly creative solution with .htaccess.
</blockquote>
<p>
Broken up into <a href="http://meshier.com/2007/04/21/blocking-visitors-by-country-using-php-mysql/">five simple steps</a>, he makes a light function to drop into an output buffering function to tell it to either show the normal content or return a 401 Unauthorized header to the visitor.
</p>]]></description>
      <pubDate>Mon, 23 Apr 2007 16:38:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ryan Malesevich's Blog: Fight Spam Comments with Bad Behavior and Akismet]]></title>
      <guid>http://www.phpdeveloper.org/news/6214</guid>
      <link>http://www.phpdeveloper.org/news/6214</link>
      <description><![CDATA[<p>
<i>Ryan</i> <a href="http://ryanslife.net/2006/09/06/fight-spam-comments-with-bad-behavior-and-akismet/">points out</a> a handy tool to help keep even more spammers from making their way to your blogs and posting comments - <a href="http://www.homelandstupidity.us/software/bad-behavior/">Bad Behavior</a>.
</p>
<blockquote>
<p>
I love <a href="http://ryanslife.net/2006/07/14/wordpress-plugins-used-in-ryans-life/">Akismet</a> the spam filter for comments that is built into Wordpress. It's blocked 812 spam comments in a little under 2 months for me. I was content with it, but I grew tiresome that it would even get to my site. Akismet is great for blocking spams that are already to your blog, but there has to be something out there that would block the spammers from coming to your site in the first place.
</p>
<p>
Luckily there is something like that, it's called <a href="http://www.homelandstupidity.us/software/bad-behavior/">Bad Behavior</a>.
</p>
</blockquote>
<p>
Luckily, it's also made for Wordpress, so you can download and install directly with no fuss. <a href="http://ryanslife.net/2006/09/06/fight-spam-comments-with-bad-behavior-and-akismet/">He comments</a> that he's already seeing results with even more caught than Akismet was before.
</p>]]></description>
      <pubDate>Thu, 07 Sep 2006 07:16:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Syntux Blog: Advanced Caching Technique - Block Randomization]]></title>
      <guid>http://www.phpdeveloper.org/news/6098</guid>
      <link>http://www.phpdeveloper.org/news/6098</link>
      <description><![CDATA[<p>
In his latest entry to the Synutx blog, <i>Ammar Ibrahim</i> <a href="http://syntux.net/blog/2006/08/21/advanced-caching-technique-block-randomization/">talks about</a> an advanced chaching technique - block randomization.
</p>
<blockquote>
<p>
I'm currenlty working on a site where I want to improve performance of dynamic pages. One of the greatest techniques to do is to cache dynamic content and serve the generated output (HTML). It's not as easy as we all want it to be when you have all sorts of weird blocks on the page: User login area, random content, ..etc
</p>
<p>
As I had a very pleasent experience with eZ components last week, I decided to take a look at the components, but then i remembered it works on PHP5. This project is on PHP4, I had to look for an alternative and decided to use PEAR::Cache_Lite.
</p>
</blockquote>
<p>
He <a href="http://syntux.net/blog/2006/08/21/advanced-caching-technique-block-randomization/">gives a visual example</a> of what he's working towards and includes some sample code (using Cache_Lite) to create the blocks of content for his site. It took a few tries to get right, but apparently, third time's the charm.
</p>]]></description>
      <pubDate>Mon, 21 Aug 2006 16:18:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPit.net: No more spam; Akismet and PHP to the rescue!]]></title>
      <guid>http://www.phpdeveloper.org/news/5412</guid>
      <link>http://www.phpdeveloper.org/news/5412</link>
      <description><![CDATA[<p>
If you're tired of spam comments or people flooding your PHP application with junk text and links, you'll definitely want to check out <a href="http://www.phpit.net/article/no-spam-akismet-php/">this new tutorial</a> from PHPit.net. It looks at how to integrate the <a href="http://akismet.com/">Akismet</a> anti-spam service into your application.
</p>
<quote>
<i>
<p>
I've started using Akismet myself recently, and it has completely cut down all the spam I was receiving. Normally I'd get about 700 spam comments a day on my various blogs and websites (including PHPit), but since installing Akismet I've only received four. That means that approximately 99,5% is being caught by Akismet, which is an extremely good rate, and what's even better is that Akismet hasn't caught one good spam comment (no positives). Sounds pretty good, right?
</p>
<p>
In this article you'll learn how to use the Akismet anti-spam service to prevent any spam from being added to your PHP website. Live examples and demo's are included.
</p>
</i>
</quote>
<p>
To start off right, you need to <a href="http://www.phpit.net/article/no-spam-akismet-php/">know how the service works</a> and what kind of methods you'll need to access it. They show a simple connection to the service as well as two functions to mark something as spam and to mark it as non-spam (or 'ham' as he calls it). He also links to <a href="http://akismet.com/development/">their development page</a> and to the <a href="http://akismet.com/download/">WordPress plugin</a> that performs the same action.
</p>]]></description>
      <pubDate>Mon, 22 May 2006 05:57:31 -0500</pubDate>
    </item>
  </channel>
</rss>
