<?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, 23 May 2012 11:37:31 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Devis Lucato's Blog: Select: Inversion of Control]]></title>
      <guid>http://www.phpdeveloper.org/news/17260</guid>
      <link>http://www.phpdeveloper.org/news/17260</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Devis Lucato</i> introduces the "Inversion of Control" design pattern and <a href="http://lucato.it/inversion-of-control">shares an implementation</a> he's created as an illustration - a Service Locator called <a href="https://github.com/dluc/Select">Select</a>.
</p>
<blockquote>
[In a Service Locator] all the dependencies are provided by a builder, which serves as a registry of dependencies and/or service definitions. The service locator knows how to instantiate each dependency.   Such service exposes methods like 'getMailer()', 'getLogger()' etc.  A service locator centralises the configuration detailing classes and parameters involved on objects instantiations.
</blockquote>
<p>
He includes some sample code showing the structure of a Select implementation using a "Mailer" identifier and definitions of the classes to load for it. He also includes a bit of documentation of the (simple) API you can use to work with the tool - setting namespaces, replacing class definitions, creating definitions and finding the resource associated with a definition (to name a few).
</p>]]></description>
      <pubDate>Wed, 14 Dec 2011 13:34:53 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Java PHP Python -- Which is "Faster In General"?]]></title>
      <guid>http://www.phpdeveloper.org/news/15704</guid>
      <link>http://www.phpdeveloper.org/news/15704</link>
      <description><![CDATA[<p>
On the Java DZone.com section today there's a <a href="http://java.dzone.com/news/java-php-python-which-faster">"which is faster"</a> post comparing PHP, Java and Python. No, it's not quite what you're expecting - I'd suggest reading on.
</p>
<blockquote>
Sigh. What a difficult question. There are numerous incarnations on StackOverflow. All nearly unanswerable. The worst part is questions where they add the "in general" qualifier. Which is "faster in general" is essentially impossible to answer. And yet, the question persists. There are three rules for figuring out which is faster. And there are three significant problems that make these rules inescapable.
</blockquote>
<p>His three rules are:</p>
<ul>
<li>Languages don't have speeds. Implementations have speeds.
<li>Statistics Aren't a Panacea.
<li>Benchmarking Is Hard.
</ul>
<p>
He seems to hit most of the issues with these sort of "faster" posts up front and notes that, while benchmarks can be run on a lot of different aspects about the languages, the results depend on how you slice it. His suggestion is, instead, to not try to compare the languages in a grand sense. Take each of them and compare them on specific tasks and let those results stand alone. Each of the three languages is going to be better at something than the other two.
</p>]]></description>
      <pubDate>Fri, 07 Jan 2011 12:17:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer.com: Quercus: Bring Java's Power to Your PHP Development (and Vice Versa)]]></title>
      <guid>http://www.phpdeveloper.org/news/15031</guid>
      <link>http://www.phpdeveloper.org/news/15031</link>
      <description><![CDATA[<p>
On Developer.com today there's <a href="http://www.developer.com/java/article.php/3900701/article.htm">a new tutorial</a> about Quercus - the Java-based implementation of PHP - and how to get it up and running in your environment.
</p>
<blockquote>
Imagine the possibilities when a PHP developer can continue using the language's templating capabilities while leveraging <a href="http://www.hibernate.org/">Hibernate</a>'s object-relational features. Thanks to an open source project named <a href="http://www.caucho.com/resin-4.0/examples/quercus.xtp">Quercus</a>, PHP and Java developers alike can mix and match the respective capabilities of both languages. [...] This approach (part of the movement that software architect Neal Ford famously defined as "<a href="http://memeagora.blogspot.com/2006/12/polyglot-programming.html">polyglot programming</a>") opens up a whole new world of opportunities for developers seeking to squeeze every last ounce of performance and capability from their application platforms.
</blockquote>
<p>
They help you get it installed and show you how to execute a PHP script from inside. There's also a bit about integrating Java libraries into your code and the integration of a type of tool PHP doesn't come native with, something like <a href="http://itextpdf.com/">iTextPDF</a>.
</p>]]></description>
      <pubDate>Fri, 27 Aug 2010 09:30:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Elizabeth Smith's Blog: My five (well four and one-half) issues with namespaces]]></title>
      <guid>http://www.phpdeveloper.org/news/10986</guid>
      <link>http://www.phpdeveloper.org/news/10986</link>
      <description><![CDATA[<p>
Even with the release of PHP 5.3 looming closer and closer on the horizon, there's a few things that are still being worked through - one of which is the much touted namespace support. <i>Elizabeth Smith</i> has <a href="http://elizabethmariesmith.com/2008/09/my-five-well-four-and-one-half-issues-with-namespaces/">posted a few</a> of the issues that she's having with how they're being implemented, four and a half of them, to be exact.
</p>
<blockquote>
The first thing to clarify is that I like the new implementation overall, it's fairly light and although it isn't really namespacing or packaging in any sense of the word, the best way to describe it is aliasing, it does help keep code easy to use. In fact I have a couple of projects and even a PHP extension that's all namespaced code.
</blockquote>
<p>Her list of five (four and a half) things are:</p>
<ul>
<li>multiple namespaces in a file
<li>you can't have ANYTHING before the namespace statement but an opening &lt;?php tag
<li>The autoload and resolution paths
<li>Functions in namespaces
<li>No use * and three million use statements (this is the one with the workaround - class_alias)
</ul>]]></description>
      <pubDate>Tue, 09 Sep 2008 08:46:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[International PHP Magazine: Which of the Following Ensures Smooth Implementation of PHP Sessions?]]></title>
      <guid>http://www.phpdeveloper.org/news/7766</guid>
      <link>http://www.phpdeveloper.org/news/7766</link>
      <description><![CDATA[<p>
The <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,27182,nodeid,5.html">results</a> from the latest poll the International PHP Magazine conducted this past week are in. The question they asked developers to respond to was "Which One of the Following Ensures Smooth Implementation of PHP Sessions?".
</p>
<p>
Options this time were:
<ul>
<li>Don't use underscore in host names
<li>Commit your session before it redirects
<li>Prevent session fixation
<li>Don't expose session_id's
</ul>
The results were pretty close for all of the options with one coming out on top (committing the session) and two tying for second - preventing session fixation and not exposing session IDs.
</p>
<p>
Subversion and Symfony users should cast their votes in <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,27181,nodeid,5.html">this week's poll</a>. It asks, of the four options given, which is your favorite "trick" to running the Symfony framework with Subversion.
</p>]]></description>
      <pubDate>Thu, 03 May 2007 11:14:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jacob Santos' Blog: PHP Opcode Series]]></title>
      <guid>http://www.phpdeveloper.org/news/7442</guid>
      <link>http://www.phpdeveloper.org/news/7442</link>
      <description><![CDATA[<p>
<i>Jacob Santos</i> has <a href="http://www.santosj.name/php/php-opcode/php-opcode-series/">started a series of posts</a> to his blog that focuses on the use of the opcode cache and language features in your applications.
</p>
<blockquote>
The posts will be researched and go through multiple drafts for professionalism before posting. In this hope, it will strive to enable discussion that isn't flaming and collective of the topic at hand. For as much as I can achieve at my level of writing skill and researching the topic at hand.
</blockquote>
<p>
He <a href="http://www.santosj.name/php/php-opcode/php-opcode-series/">he goes through</a> the purpose of the posts, the areas he's going to focus on, some about the theory that will be used, and the implementation and documentation he'll provide through the series.
</p>]]></description>
      <pubDate>Thu, 15 Mar 2007 15:24:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[The OC Food Review Blog: Notes on implementing location based search (part 1 of 2)]]></title>
      <guid>http://www.phpdeveloper.org/news/5727</guid>
      <link>http://www.phpdeveloper.org/news/5727</link>
      <description><![CDATA[<p>
The OC Food Review blog has posted <a href="http://blog.ocfoodreview.com/2006/06/29/notes-on-implementing-location-based-search-part-1-of-2/">part one</a> of a two part series covering the creation of a location-based search engine. They're currently implementing it into their site and wanted to share the knowledge.
</p>
<blockquote>
Conceptually, location based searching is pretty straight-forward: find out where you are, find out how far you're willing to travel, and compare your location against the locations of all your choices. If the distance between where you are and what you're interested in is less than what you're willing to travel, add it to your results list. Simple, right? Right.
</blockquote>
<p>
He <a href="http://blog.ocfoodreview.com/2006/06/29/notes-on-implementing-location-based-search-part-1-of-2/">talks more about</a> the concepts behind the search and one of the keys to the entire process - geocoding. They opted to go with the <a href="http://developer.yahoo.com/maps/rest/V1/geocode.html">Yahoo! Maps</a> API to grab this information. There's some sample REST urls and the output of the results after they've been unserialized.
</p>
<p>
They've even created <a href="http://blog.ocfoodreview.com/wp-content/uploads/geocoder.phps">their own class</a> to make things even simpler. It does require that you have cURL installed with your PHP5 installation, but outside of that, there are no other dependencies.
</p>]]></description>
      <pubDate>Thu, 29 Jun 2006 12:27:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Alexey Zakhlestin's Blog: FastCGI in PHP - The way it could be.]]></title>
      <guid>http://www.phpdeveloper.org/news/5558</guid>
      <link>http://www.phpdeveloper.org/news/5558</link>
      <description><![CDATA[<p>
<i>Alexey Zakhlestin</i> shares with us in <a href="http://blog.milkfarmsoft.com/?p=4">this new blog post</a>, how the fast-cgi PHP developers think they're using isn't really a true FastCGI.
</p>
<quote>
<i>
Most PHP programmers believe, that PHP has support for FastCGI. They refer to fastcgi-sapi, which is bundled with php since long ago, and which was recently reimplemented for PHP 5.1.3/4. This SAPI really does exist and actually working quite good. But… it is not a real fast-cgi. It is just an imitation of mod_php which is linked against fastcgi api, instead of apache api. So, it's time for you to ask: if it exists and works, then what am I talking here about? Let's start from the basics...
</i>
</quote>
<p>
He <a href="http://blog.milkfarmsoft.com/?p=4">talks about</a> a history of how things go to where they are, starting back with regular CGI scripts, moving up through using server-based APIs, and finally to FastcGI, a method for overcoming a lot of the limitations of its predecessors.
</p>
<p>
With that look back, he turns his attention around and looks to the current situation within PHP. He talks about the sudden appearance fastcgi made in PHP's SAPIs, but that the implementation wasn't true. He suggests that the reasoning behind this "fake" implementation was for the sake of speed. He also notes, however, it's his opinion that true FastCGI support in PHP will be a requirement for future large-scale applications.
</p>]]></description>
      <pubDate>Sun, 11 Jun 2006 13:26:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jason Sheet's Blog: Soundex implemented in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/5458</guid>
      <link>http://www.phpdeveloper.org/news/5458</link>
      <description><![CDATA[<p>
On <i>Jason Sheet</i>'s blog, there's a <a href="http://blogs.idahoimageworks.com/jsheets/index.php?/archives/8-Soundex-implemented-in-PHP.html">new post</a> that offers up a brief tutorial on implementing the soundex functionality in PHP.
</p>
<quote>
<i>
<p>
Soundex is an algorithim to help determine if a word sounds like another word; it is commonly used to detect words that are incorrectly spelled or to make the suggestion "did you mean ? instead of !?"  For example if you typed in smythe using soundex a program could look for other names that sound like it and find that smith and smythe sound alike.
</p>
<p>
In this article I will demonstrate a PHP implementation of soundex, in practice this implementation has little value because PHP itself has soundex() function already but this article should help you understand how it works better.
</p>
</i>
</quote>
<p>
He <a href="http://blogs.idahoimageworks.com/jsheets/index.php?/archives/8-Soundex-implemented-in-PHP.html">jumps right in</a>, mentioning the steps the script will take (seven of them) before getting right to the code. He's written up his own soundex functionality packaged up nicely in a reusable function and has even compared it to the built-in PHP <a href="http://us2.php.net/manual/en/function.soundex.php">soundex function</a> for accuracy.
</p>]]></description>
      <pubDate>Sat, 27 May 2006 11:52:57 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Iterators in the Simplest Sense - An Accessible Implementation in PHP 4]]></title>
      <guid>http://www.phpdeveloper.org/news/4960</guid>
      <link>http://www.phpdeveloper.org/news/4960</link>
      <description><![CDATA[DevShed has published the <a href="http://www.devshed.com/c/a/PHP/Iterators-in-the-Simplest-Sense-An-Accessible-Implementation-in-PHP-4/">first</a> in a new series that looks to explain the implementation and core concepts behind using iterators in PHP. This time, they look at creating this environment in PHP4.
<p>
<quote>
<i>
Here, I'm not going to offer a full reference for what each design pattern is. You can buy a book to learn that, or even do some "googling" and find other helpful resources that probably will treat the subject much more extensively. Instead, I'll provide you with a concise explanation of what an Iterator is, in conjunction with numerous sample codes, which hopefully will help you understand much more easily how it can applied in PHP object-oriented programming.
</i>
</quote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Iterators-in-the-Simplest-Sense-An-Accessible-Implementation-in-PHP-4/">start off</a> by looking at what the Iterator pattern is - the setup of a pseudo-class and an explaination of how it works. They follow this with a functional example and creating a subclass off of the generic base class.]]></description>
      <pubDate>Thu, 09 Mar 2006 07:12:15 -0600</pubDate>
    </item>
  </channel>
</rss>

