<?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, 19 Jun 2013 12:41:19 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Kevin Schroeder: Would this be a dumb idea for PHP core?]]></title>
      <guid>http://www.phpdeveloper.org/news/19200</guid>
      <link>http://www.phpdeveloper.org/news/19200</link>
      <description><![CDATA[<p>
In <a href="http://www.eschrade.com/page/would-this-be-a-dumb-idea-for-php-core">this new post</a> to his site <i>Kevin Schroeder</i> thinks out loud and wonders if an idea of his is "a dumb idea" to be included into the PHP core - engine state caching.
</p>
<blockquote>
 I was consulting and I would see significant server resources consumed by bootstrapping the apps.  Loading config files, loading dependent classes, setting up dependencies, initializing ACL's, and the list goes on and on. One of the ways to negate the effect would be to cache a bootstrap object and then pull that object from the cache at the start of the request.  However, the problem is that unserialization can actually end up taking more time than the bootstrap process itself.
</blockquote>
<p>
He wonders if, after the initial bootstrapping happened, a method could be called (his example is "init_engine_state") that would cache the Zend Engine's current state and pass that to a callback function. This would cache everything - objects, variables, classes, etc - all pre-interpreted into memory and make them easy to reuse on future executions. What do you think? <a href="http://www.eschrade.com/page/would-this-be-a-dumb-idea-for-php-core">Share your thoughts</a> in the comments of the post.
</p>]]></description>
      <pubDate>Tue, 19 Feb 2013 09:26:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[XpertDeveloper.com: PHP clearstatecache() Explained]]></title>
      <guid>http://www.phpdeveloper.org/news/16892</guid>
      <link>http://www.phpdeveloper.org/news/16892</link>
      <description><![CDATA[<p>
XPertDeveloper.com has a <a href="http://www.xpertdeveloper.com/2011/09/php-clearstatecache/">quick new post</a> looking at a function that might be overlooked until it suddenly becomes just what you need - <a href="http://php.net/clearstatecache">clearstatecache</a> for clearing file state information in the current script.
</p>
<blockquote>
For the functions like is_file(), file_exists(), etc PHP caches the result of this function for each file for faster performance if function called again. But in some cases you want to clear this cached information, for the task like getting the information of the same file multiple times in same page.
</blockquote>
<p>
Other methods this cache effects include <a href="http://php.net/stat">stat</a>, <a href="http://php.net/file_exists">file_exists</a>, <a href="http://php.net/is_file">is_file</a> and more. If the state of a file is changed during the course of the script - say it's deleted manually, not by PHP, your script may not recognize that. By calling <a href="http://php.net/clearstatecache">clearstatecache</a>, you refresh this cache and make it possible to see the latest file system info.
</p>]]></description>
      <pubDate>Thu, 22 Sep 2011 09:21:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Web Developer Juice: PHP Magic Functions: Best Part of Object Oriented PHP - Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/16361</guid>
      <link>http://www.phpdeveloper.org/news/16361</link>
      <description><![CDATA[<p>
Web Developer Juice has posted <a href="http://www.webdeveloperjuice.com/2011/05/09/php-magic-functions-best-part-of-object-oriented-php-%E2%80%93-part-2/">the second part of their series</a> looking at some of the "magic functions" that PHP has to offer - special functions that do automagic things in your scripts and classes. Part one can be <a href="http://phpdeveloper.org/news/16288">found here</a>.
</p>
<blockquote>
In my <a href="http://www.webdeveloperjuice.com/2011/04/28/php-magic-functions-best-part-of-object-oriente-php/">previous post</a> ( PHP Magic Functions ), I discussed about __construct, __destruct, __call and __callStatic. Lets explore a few more magic functions...
</blockquote>
<p>In this latest part of the series they look at three functions:</p>
<ul>
<li>__set/__get
<li>__invoke
</ul>]]></description>
      <pubDate>Thu, 19 May 2011 10:14:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ole Markus' Blog: High load websites: A lock on Memcached::get]]></title>
      <guid>http://www.phpdeveloper.org/news/15640</guid>
      <link>http://www.phpdeveloper.org/news/15640</link>
      <description><![CDATA[<p>
<i>Ole Markus</i> has <a href="http://olemarkus.org/2010/12/high-load-websites-a-lock-on-memcachedget/">a new post</a> to his blog looking at a technique for working with memcached and fetching data out of the store using a binary semaphore for better performance.
</p>
<blockquote>
A typical document takes but a few hundred milliseconds to generate when a single request for the document enters the backend. The problem is that this is a highload website. In its current form, the backend serves hundreds of pages per second. This pretty much guarantees that the backend will concurrently receive cache miss on multiple languages and at the same time also receive cache miss on the pre-translated document.
</blockquote>
<p>
Given that he wants the translated version to be the one that's always shared, a problem can come up when the cache request is "missed" and the document starts generating from multiple places. His fix for the situation is that only the first miss generates and all others see a lock on it and wait for it to be removed before successfully fetching the result. He provides code in a "LockedMemcached" class to help make it all more useful.
</p>]]></description>
      <pubDate>Mon, 27 Dec 2010 12:34:14 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ilia Alshanetsky's Blog: Domain Location Statistics]]></title>
      <guid>http://www.phpdeveloper.org/news/15603</guid>
      <link>http://www.phpdeveloper.org/news/15603</link>
      <description><![CDATA[<p>
<i>Ilia Alshanetsky</i> has started to gather more and more information about PHP usage on the web as a whole (that was <a href="http://phpadvent.org/2010/usage-statistics-by-ilia-alshanetsky">started here</a>) and <a href="http://ilia.ws/archives/234-Domain-Location-Statistics.html">has been extended</a> with some additional statistics he's done on the location of the domains he's collected.
</p>
<blockquote>
The first step of the process has been resolving all of these domains, which is now complete. The next step is fetching the server information, which began, but will take some time to finish. However, even from the domain revolving data there is a lot of useful data to be gleamed, which is what I am now publishing. My first focus was on the world-wide distribution on these TLDs, which at least for me held a few surprises.
</blockquote>
<p>
He includes a few graphs of the results he's found showing things like:
</p>
<ul>
<li>The US has the most domains hosted followed with less than half by Germany
<li>The overwhelming majority of the PHP domains are in the .com area
<li>In the US, the state with the highest number of PHP-powered domains was Arizona with Clifornia coming in second
</ul>
<p>
If you'd like something more interactive, he's also come up with <a href="http://ilia.ws/stats/world_map.php">a clickable world map</a> of the results for you to click around on.
</p>]]></description>
      <pubDate>Mon, 20 Dec 2010 12:15:18 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Alvaro Videla's Blog: Reply to "Scala is Easier than PHP"]]></title>
      <guid>http://www.phpdeveloper.org/news/15467</guid>
      <link>http://www.phpdeveloper.org/news/15467</link>
      <description><![CDATA[<p>
<i>Alvaro Videla</i> has <a href="http://videlalvaro.github.com/2010/11/reply-to-scala-is-easier-than-php.html">written up a response</a> to <i>Wade Arnold</i>'s <a href="http://phpdeveloper.org/news/15453">Scala's easier than PHP</a> post and some of the points he doesn't agree with him on.
</p>
<blockquote>
Before going on with the points, let me state something: please avoid flame wars, all the Scala vs. PHP stuff, fanboyism and what not. This post is not about that. Regarding Wade Arnold I have to say that I fully respect him. While I don't know him personally, I know him for his work on AMFPHP, since it was a platform I used to work with before. 
</blockquote>
<p>
<i>Alvaro</i> talks about functional programming and some of the main points he had made about Erlang in a talk he had given - code reload, being ready for multi-core and no shared state between scripts. He talks about how these (really) apply to PHP.
</p>]]></description>
      <pubDate>Mon, 22 Nov 2010 08:29:12 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: The State of Symfony 2 Online Conference]]></title>
      <guid>http://www.phpdeveloper.org/news/14600</guid>
      <link>http://www.phpdeveloper.org/news/14600</link>
      <description><![CDATA[<p>
On the Symfony blog there's a <a href="http://www.symfony-project.org/blog/2010/05/31/the-state-of-symfony-2-online-conference">recent post</a> mentioning an online conference offering a look into the current state of the Symfony framework and what's coming in the future.
</p>
<blockquote>
During The State of Symfony 2 you will learn about the current state of the brand new version of Symfony, scheduled for release late this year. Several important parts of Symfony 2 will be highlighted by prominent speakers. And at the end of the conference, the second Preview Release of Symfony 2 will be published, including updated documentation!
</blockquote>
<p>
Several guest speakers - including <i>Fabien Potencier</i> and <i>Jonathan Wage</i> - will be talking about the future of the framework and how it will integrate with other technologies (like Doctrine). There's two times you can catch the event - one on June 22nd @ 10am and the other is June 23rd @ 5pm (all times are Central Eurpoean Time). The <a href="http://www.symfony-live.com/registration/choice">registration</a> will cost 30 Euro for the normal ticket, 20 for Early Bird (first 50 people to register).
</p>]]></description>
      <pubDate>Thu, 03 Jun 2010 12:46:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ibuildings techPortal: State & Ajax - How to Maintain Browser and Application State in an Asynchrono]]></title>
      <guid>http://www.phpdeveloper.org/news/14498</guid>
      <link>http://www.phpdeveloper.org/news/14498</link>
      <description><![CDATA[<p>
On the Ibuildings techPortal today they've posted the latest podcast recording from the 2009 Dutch PHP Conference sessions, <i>Paul Reinheimer</i>'s look at <a href="http://techportal.ibuildings.com/2010/05/11/state-ajax-how-to-maintain-browser-and-application-state-in-an-asynchronous-world/">maintaining state with Ajax</a> ("in an Asynchronous World").
</p>
<blockquote>
This talk will examine the two greatest problems in Ajax development (except for that pesky browser issue): Exactly what that "Asynchronous" word means, what problems it creates, and how they can be effectively managed, next the YUI Browser History object will be examined, finally handing control of Ajax applications back to the user via their familiar back button.
</blockquote>
<p>
You can listen to this new episode in one of two ways - either by using the <a href="http://techportal.ibuildings.com/2010/05/11/state-ajax-how-to-maintain-browser-and-application-state-in-an-asynchronous-world/">in-page player</a> or you can <a href="http://techportal.ibuildings.com/wp-content/uploads/audio/dpcradio/episode_010.mp3">download the mp3</a> directly.
</p>]]></description>
      <pubDate>Tue, 11 May 2010 12:38:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Manuel Pichler's Blog: Howto create custom rule sets for PHPMD]]></title>
      <guid>http://www.phpdeveloper.org/news/14329</guid>
      <link>http://www.phpdeveloper.org/news/14329</link>
      <description><![CDATA[<p>
If you've been using the <a href="http://phpmd.org/about.html">PHP Mess Detector (PHPMD)</a> to help clean up problem areas in your applications, but have needed more than just the basic rules that it comes with, you're in luck. <i>Manuel Pichler</i> has put together a new post for his blog about <a href="http://manuel-pichler.de/archives/84-Howto-create-custom-rule-sets-for-PHPMD.html">creating custom rules sets</a> for the tool.
</p>
<blockquote>
PHPMD can be seen as an one level down/low level equivalent to <a href="http://pear.php.net/package/PHP_CodeSniffer">PHP_CodeSniffer</a>. It is a simple command line tool that can be used to check your application's source code for possible bugs, suboptimal or overcomplicated code. The current release of <a href="http://phpmd.org/about.html">PHPMD</a> ships with three default rule sets. 
</blockquote>
<p>
The first deals with code size, the second checks for unused variables and the like and the third looks at naming conventions. He shows how to take one of the structures from one of these three and create a new rule. For his example it's a measurement of <a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">cyclomatic complexity</a>. He also shows you how to exclude certain rules that might come in another set so you don't have to completely redefine to use pre-existing rules.
</p>
<p>
The latest release of PHPMD can be pulled from <a href="http://pear.phpmd.org/">pear.phpmd.org</a> or from its <a href="http://github.com/manuelpichler/phpmd">github repository</a>.
</p>]]></description>
      <pubDate>Fri, 09 Apr 2010 13:19:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[ThinkPHP Blog: State of PHP and Architecture]]></title>
      <guid>http://www.phpdeveloper.org/news/13654</guid>
      <link>http://www.phpdeveloper.org/news/13654</link>
      <description><![CDATA[The ThinkPHP blog (and Mayflower) are <a href="http://blog.thinkphp.de/archives/473-State-of-PHP-and-Architecture.html">asking for your input</a> on the current state of PHP architecture and what trends are out there.
<blockquote>
What is the <a href="http://www.zoomerang.com/Survey/WEB229Z4B9GG86">state of the art of PHP Architecture</a>? Our CTO, Johann-Peter Hartmann, wants to know about it. Furthermore we want to know about the relevance of business goals during architecture creation. It would be great if you could help us filling out this survey, of course we'll publish it later. Please answer questions based on real-world experience and not what you would like to see
</blockquote>
<p>
The survey asks about what architectural methods you know of, which are put into use in your work and how some of the requirements are defined. They also ask a little bit about planning - what tools you use for your plans (like a whiteboard, UML or good old pencil and paper).
</p>]]></description>
      <pubDate>Thu, 10 Dec 2009 08:39:59 -0600</pubDate>
    </item>
  </channel>
</rss>
