<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Fri, 24 May 2013 20:54:03 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: Cloning in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19600</guid>
      <link>http://www.phpdeveloper.org/news/19600</link>
      <description><![CDATA[<p>
In <a href="http://css.dzone.com/articles/cloning-php">this recent post</a> over on DZone.com <i>Giorgio Sironi</i> takes a look at the "clone" feature of PHP - what it is, how it can be used and things to watch out for in its use.
</p>
<blockquote>
Cloning is an operation consisting in the duplication of a data structure, usually to avoid the <a href="http://en.wikipedia.org/wiki/Action_at_a_distance_%28computer_programming%29">aliasing problem</a> of having different code modify the same instance in inconsistent ways. In PHP, cloning can be accomplished in multiple ways - and in some cases it can be avoided altogether.
</blockquote>
<p>
He talks some about how objects are passed around internally during the PHP execution and how you can tell if a function works with data by reference (from the manual). He then looks at the "clone" keyword and what kinds of things are duplicated from an object when it is used. He briefly touches on the "__clone" magic method for solving the "shallow clone" problem and how, possibly, serializing the object might be a better alternative for reproducing the entire object.
</p>
Link: http://css.dzone.com/articles/cloning-php]]></description>
      <pubDate>Fri, 17 May 2013 11:09:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell: Do Open Source with Git and Github]]></title>
      <guid>http://www.phpdeveloper.org/news/18451</guid>
      <link>http://www.phpdeveloper.org/news/18451</link>
      <description><![CDATA[<p>
So you've been working on your own code for a while now but have been hearing about Github and how it makes it simple to contribute to other projects too. Maybe you haven't found the time to get into git and Github yet. Well, <a href="http://www.lornajane.net/posts/2012/do-open-source-with-git-and-github">this new post</a> (a reprinted article from <a href="http://phparch.com">php|architect</a>) to <i>Lorna Mitchell</i>'s blog will tell you all you need to know.
</p>
<blockquote>
Often I find absolutely competent programmers, who aren't involved in open source, either because they don't know how to approach a project, or because they just aren't sure how the process even works. In this article we'll look at one example, the conference feedback site <a href="http://joind.in/">joind.in</a>, and how you can use <a href="http://github.com/">GitHub</a> to start contributing code to this project. Since so many projects are hosted on github, this will help you get started with other projects, too.
</blockquote>
<p>
She covers all you'll need to know to get in and get going with Github - forking a current repo (she uses <a href="https://github.com/joindin/joind.in">Joind.in</a> as an example), cloning your fork, making updates and submitting them as a pull request back to the main project. There's also some things about general git topics like branching, merging from the upstream source and using "git log" to view the changes.
</p>]]></description>
      <pubDate>Thu, 06 Sep 2012 09:57:34 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[CodeIgniter.com: CodeIgniter Wiki Moved]]></title>
      <guid>http://www.phpdeveloper.org/news/18189</guid>
      <link>http://www.phpdeveloper.org/news/18189</link>
      <description><![CDATA[<p>
As is mentioned in <a href="http://codeigniter.com/news/codeigniter_wiki_moved#When:23:22:46Z">this new post</a> to the CodeIgniter project's main site, their wiki has made a move. You can now <a href="https://github.com/EllisLab/CodeIgniter/wiki">find it on github</a>.
</p>
<blockquote>
In addition to having the convenience of existing as a git repo itself, moving this content to GitHub will help distinguish EllisLab and Reactor created content from community managed resources. It will also reduce the attraction of spammers to the CodeIgniter.com web site, as the wiki was a common location used by spammers and vandals to get content on our site that was less likely to be found and moderated than the frequently visited forums.
</blockquote>
<p>
You can make changes if you see something incorrect by cloning the repo and <a href="https://github.com/EllisLab/CodeIgniter/wiki/_access">making changes to the wiki repo</a> and putting in a pull request.
</p>]]></description>
      <pubDate>Fri, 06 Jul 2012 08:15:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP.net: PHP Migrates to Git]]></title>
      <guid>http://www.phpdeveloper.org/news/17695</guid>
      <link>http://www.phpdeveloper.org/news/17695</link>
      <description><![CDATA[<p>
The announcement has finally come - the PHP project has <a href="http://www.php.net/archive/2012.php#id2012-03-20-1">officially moved to git</a>!
</p>
<blockquote>
The migration of the PHP source code from Subversion to Git is complete. You can clone or fork the source from our <a href="https://github.com/php/php-src">GitHub mirror</a>, and we also now support pull requests made via GitHub. The source is also available via <a href="http://git.php.net/">git.php.net</a>, and full instructions on cloning the php-src tree can be found at <a href="http://php.net/git">php.net/git</a>. One immediate benefit is that future PHP release tags will be signed by the PHP development team. We will be releasing GPG keys for verification purposes in the next few days. More information on the migration and the new workflow can be found at the <a href="https://wiki.php.net/vcs/gitfaq">Moving to Git FAQ</a> on the PHP Wiki.
</blockquote>
<p>
This move does not include the manuals yet, but that's coming soon. Be sure to <a href="http://us3.php.net/git.php">follow these steps</a> if you'd like to contribute back via the git repository. This is a great move for the project and makes it even easier for developers to contribute their fixes and ideas back to the development group!
</p>
<p>
<i>Joshua Thijssen</i> has <a href="http://www.adayinthelifeof.nl/2012/03/19/php-has-moved-to-git/">also posted a guide</a> to getting started on his blog.
</p>]]></description>
      <pubDate>Tue, 20 Mar 2012 06:39:52 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stoimen Popov's Blog: PHP: Don't Call the Destructor Explicitly]]></title>
      <guid>http://www.phpdeveloper.org/news/17136</guid>
      <link>http://www.phpdeveloper.org/news/17136</link>
      <description><![CDATA[<p>
In <a href="http://www.stoimen.com/blog/2011/11/14/php-dont-call-the-destructor-explicitly/">this new post</a> to his blog <i>Stoimen Popov</i> talks about calling the "destructor" method of an object and why doing it directly could lead to some issues - like not actually destroying the object before the script ends.
</p>
<blockquote>
At the end of the script the interpreter frees the memory. Actually every object has a built-in destructor, just like it has built-in constructor. So even we don't define it explicitly, the object has its destructor. Usually this destructor is executed at the end of the script, or whenever the object isn't needed anymore. This can happen, for instance, at the end of a function body. Now if we call the destructor explicitly, which as I said I've seen many times, here's what happen. As you can see calling the destructor explicitly doesn't destroy the object. So the question is...how to destroy an object before the script stops?
</blockquote>
<p>
He points out that one way to "destroy" an object is to null it out and remove the structure from memory. This is tricky, though, because a clone of the object will still exist in memory, just not the original.
</p>]]></description>
      <pubDate>Wed, 16 Nov 2011 11:56:43 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: All symfony 1.x versions available on Github]]></title>
      <guid>http://www.phpdeveloper.org/news/17043</guid>
      <link>http://www.phpdeveloper.org/news/17043</link>
      <description><![CDATA[<p>
<i>Fabien Potencier</i> has <a href="http://symfony.com/blog/all-symfony-1-x-versions-available-on-github?">made an announcement</a> on the Symfony Blog today about all the availability of previous Symfony versions on github.
</p>
<blockquote>
symfony1 is well and alive and many developers are now using it for projects hosted on Git. But as the official symfony 1 repository is hosted on Subversion, it's not always easy to get things versioned easily. As of today, this becomes much more easier. If you are using Git and symfony1, you can now use the official symfony1 <a href="https://github.com/symfony/symfony1">Git</a> clone.
</blockquote>
<p>
There are branches for each of the major 1.x releases as well as tags for some of the minor releases. You can, of course, still access the latest packages directly via the <a href="http://www.symfony-project.org/">symfony website</a>.
</p>
]]></description>
      <pubDate>Wed, 26 Oct 2011 09:15:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Staw Dogs Blog: PHP Sinatra Clones]]></title>
      <guid>http://www.phpdeveloper.org/news/15362</guid>
      <link>http://www.phpdeveloper.org/news/15362</link>
      <description><![CDATA[<p>
From the Straw Dogs blog there's <a href="http://www.straw-dogs.co.uk/10/19/php-sinatra-clones/">a recent post</a> looking at some of the PHP frameworks out there have the same kind of philosophy behind them as the <a href="http://www.sinatrarb.com/">Sinatra</a> framework for Ruby - a small, light framework that's easy to use.
</p>
<blockquote>
I'm currently looking for a good PHP framework to do a new project. I recently used Kohana 3 at on a project for a client but I needed something lighter and having used <a href="http://www.sinatrarb.com/">Sinatra</a> and <a href="http://www.padrinorb.com/">Padrino</a> previously but needing it PHP based I did the next natural step - searched for PHP Sinatra clones.
</blockquote>
<p>
There's four frameworks that made the list - all in varying states of development:
</p>
<ul>
<li><a href="http://www.limonade-php.net/">Limonade</a>
<li><a href="http://fatfree.sourceforge.net/">Fat Free Framework</a>
<li><a href="http://slim.joshlockhart.com/">Slim</a>
<li><a href="http://autonomousmachine.com/2008/11/21/fitzgerald-a-sinatra-clone-in-php">Fitzgerald</a>
</ul>]]></description>
      <pubDate>Mon, 01 Nov 2010 11:14:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[William's Blog: A Popurls Clone with PHP, jQuery, Awesomeness]]></title>
      <guid>http://www.phpdeveloper.org/news/14255</guid>
      <link>http://www.phpdeveloper.org/news/14255</link>
      <description><![CDATA[<p>
In a new post to his blog <i>William</i> shows you how to <a href="http://pronewb.com/a-popurls-clone-with-php-jquery-awesomeness">create a Popurls clone</a> with the powerful combination of PHP and jQuery. <a href="http://popurls.com/">Popurls</a> is an aggregation site with some of the latest news and happenings from all around the web.
</p>
<blockquote>
Since I have a crazy workload right now, I feel this is the perfect time to write a quick n' dirty tutorial on how to build your very own Popurls. Impress your friends and/or boss with a nifty, hand made news aggregator. Yes, very buzz word friendly. 
</blockquote>
<p>
He uses the <a href="http://simplepie.org/">SimplePie</a> library to pull in the information from various feeds including Digg.com, Reddit.com, Wired's news feed and Engadget. He shows how to use regular expressions to extract information from the feeds (if they're uncooperative), a bit of PHP to work around potentially empty fields and the full jQuery/HTML/CSS you'll need to make it look <a href="http://pronewb.com/sandbox/popurls-clone.php">more like this</a>
</p>]]></description>
      <pubDate>Fri, 26 Mar 2010 11:48:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Using the Clone Magic Function in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/12688</guid>
      <link>http://www.phpdeveloper.org/news/12688</link>
      <description><![CDATA[<p>
New on DevShed today is <a href="http://www.devshed.com/c/a/PHP/Using-the-Clone-Magic-Function-in-PHP-5">the latest article</a> in their "magic functions" series. This time they focus on the "clone" method to create exact copies of current objects.
</p>
<blockquote>
In this fifth part of a seven-part tutorial on magic functions, we'll briefly review the sleep and wakeup functions, and then tackle the clone function. [...] So, with that goal in mind, in this fifth part of the series I'm going to take a closer look at the "__clone()" method, which as its name suggests, is called behind the scenes when using the "clone" PHP keyword.
</blockquote>
<p>
Their <a href="http://www.devshed.com/c/a/PHP/Using-the-Clone-Magic-Function-in-PHP-5/2/">example code</a> adds on to the previous examples using "__get" and "__set" and adds in a method to catch the cloning of an object. It only outputs a string ("Cloning user object") when its called, but it lets you get the idea.
</p>]]></description>
      <pubDate>Mon, 15 Jun 2009 12:04:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint Web Tech Blog: Roll Your Own Twitter Clone]]></title>
      <guid>http://www.phpdeveloper.org/news/12378</guid>
      <link>http://www.phpdeveloper.org/news/12378</link>
      <description><![CDATA[<p>
On the SitePoint Web Tech blog <i>Raena Jackson-Armitage</i> has <a href="http://www.sitepoint.com/blogs/2009/04/14/roll-your-own-twitter-clone/">a recent post</a> on a few tools that you can use to mimic some of the functionality Twitter offers (three of them) with applications that already exist.
</p>
<blockquote>
If you're anything like me, you've already wondered how easy it would be to make your own'"perhaps you'd like to set up a microblog for you and your colleagues to share links and have discussions. [...] Today we'll look at three new solutions that are easy to set up, have reasonably modest hosting requirements, and even include some features that blow Twitter out of the water. 
</blockquote>
<p>They suggest three tools:</p>
<ul>
<li>the <a href="http://en.blog.wordpress.com/2009/03/11/p2-the-new-prologue/">P2 plugin</a> for <a href="http://wordpress.org/">WordPress</a>
<li>the <a href="http://movabletype.org/motion">Motion</a> plugin for <a href="http://movabletype.com/">Movable Type</a>
<li><a href="http://laconi.ca/">Laconica</a> (the platform that <a href="http://identi.ca/">Identica</a> runs on, a full Twitter clone with other added features)
</ul>
<p>
Each of these comes with a description of installation, features offered and use.
</p>]]></description>
      <pubDate>Tue, 21 Apr 2009 09:31:19 -0500</pubDate>
    </item>
  </channel>
</rss>
