<?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 18:43:35 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Community News: phpDocumentor Merges with DocBlox for phpDocumentor 2!]]></title>
      <guid>http://www.phpdeveloper.org/news/17686</guid>
      <link>http://www.phpdeveloper.org/news/17686</link>
      <description><![CDATA[<p>
As is mentioned in <a href="http://www.docblox-project.org/2012/03/docblox-is-unmasked-it-is-really-phpdocumentor-2/">this new post</a> to the DocBlox blog, there's been a major development between it and the phpDocumentor documentation generation tool - phpDocumentor 2 will be released soon, merging DocBlock and phpDocumentor into one tool!
</p>
<blockquote>
Announcing phpDocumentor 2 - the merging of the old (phpDocumentor) and the new (DocBlox). With the first alpha release of phpDocumentor (2.0.0a1), the new "Responsive" default template sports a new page layout, along with the useful layout improvements that the original DocBlox templates provided (which remain available) over the old phpDocumentor templates (which will retire with old phpDocumentor). Explore this new template at <a href="http://demo.phpdoc.org/Responsive/index.html.">http://demo.phpdoc.org/Responsive/index.html</a>.
</blockquote>
<p>
Users of the current phpDocumentor software (version 1.x) will need to upgrade their documentation and installations. If you'd like more information about the transition or just keep up with the latest on this exciting advancement, check out #phpdocumentor on Freenode IRC or follow <a href="http://twitter.com/phpdocumentor">@phpdocumentor</a> on Twitter.
</p>]]></description>
      <pubDate>Fri, 16 Mar 2012 07:58:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Gustav Eklundh' sBlog: Search Methods in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10743</guid>
      <link>http://www.phpdeveloper.org/news/10743</link>
      <description><![CDATA[<p>
<i>Gustav Eklundh</i> has posted a whole series of search type implementations to his blog - here's the list so far:
</p>
<ul>
<li><a href="http://threebyte.eu/2008/07/29/quicksort-implemented-in-php/">Quicksort</a>
<li><a href="http://threebyte.eu/2008/07/29/gnome-sort-implemented-in-php/">Gnome sort</a>
<li><a href="http://threebyte.eu/2008/07/30/strand-sort-presented-in-php/">Strand sort</a>
<li><a href="http://threebyte.eu/2008/07/31/mergesort-implemented-in-php/">Merge sort</a>
</ul>
<p>
He briefly explains each of the sort methods in each of the posts, sometimes with links to external sources (like Wikipedia) for more information on the method.
</p>]]></description>
      <pubDate>Fri, 01 Aug 2008 13:45:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Blog.szajbe.pl:  Not so obvious behavior of $uses in CakePHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10570</guid>
      <link>http://www.phpdeveloper.org/news/10570</link>
      <description><![CDATA[<p>
In <a href="http://blog.szajbe.pl/2008/07/07/not-so-obvious-behavior-of-uses-in-cakephp/">this new post</a> to the blog.szajbe.pl site a dilemma is presented - CakePHP models are not working they way one would think they should.
</p>
<blockquote>
In CakePHP you declare what models you're going to use in a controller by defining $uses variable. You can also define it in AppController to have a certain set of models available in every controller. However be careful when doing it because you may put yourself in an unexpected situation as I did recently.
</blockquote>
<p>
As soon as he made his script include a 'User' model in every quest, his logins stopped working. His script errored with a "Database table sessions for model Session was not found" message and refused to work. Digging deeper, he found that CakePHP merges an AppController's $uses value with the SessionControler's values. One overrides the other and your 'User' gets lost in the shuffle.
</p>
<blockquote>
Do you have a rational explanation for such behavior? I have none. It's very unintuitive for me.
</blockquote>]]></description>
      <pubDate>Wed, 09 Jul 2008 12:02:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[John Highland's Blog: LifeStreaming Is Simple As Pie]]></title>
      <guid>http://www.phpdeveloper.org/news/10044</guid>
      <link>http://www.phpdeveloper.org/news/10044</link>
      <description><![CDATA[<p>
<i>John Highland</i> has <a href="http://joshhighland.com/blog/2008/04/19/lifestreaming-is-simple-as-pie/">a quick tutorial</a> showing how to create a lifestream with PHP out of all of the RSS feeds surrounding the multiple social networking and blogging sites you have out there (with the help of <a href="http://simplepie.org/">SimplePie</a>).
</p>
<blockquote>
Its not secret, I love social networking, I cant get enough of it. I also love programming and anything internet related. I'm not sure how I came across it, but a PHP based, Object Oriented RSS caching tool named SimplePie caught my attention.
</blockquote>
<p>
SimplePie offers one piece of functionality that he found particularly useful - the ability to merge RSS feeds easily. He took advantage of the ability and pulled together his Twitter, Flickr, Pownce, Digg and Youtube RSS feeds to make one mega-feed. You can see an example of it in action over <a href="http://www.joshhighland.com/">on his personal site</a>.
</p>]]></description>
      <pubDate>Fri, 25 Apr 2008 12:56:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Moon's Blog: Responsible use of the $_REQUEST variable]]></title>
      <guid>http://www.phpdeveloper.org/news/9466</guid>
      <link>http://www.phpdeveloper.org/news/9466</link>
      <description><![CDATA[<p>
In one of his <a href="http://doughboy.wordpress.com/2008/01/17/responsible-use-of-the-_request-variable/">recent blog entries</a>, <i>Brian Moon</i> takes a look at what he considers the "proper use" of the PHP superglobal $_REQUEST (as brought on by <a href="http://marc.info/?l=php-internals&m=119956617516891&w=2">a thread</a> on the PHP internals mailing list.
</p>
<blockquote>
I have seen more than one person make the following logic mistake: I may get data via GET, I may get data via POST - Ah, I should use $_REQUEST as it will catch both.
</blockquote>
<p>
<i>Brian</i> points out the error - cookies aren't in $_REQUEST so improper handling of those values could lead to cookie data overwriting GET/POST data from $_REQUEST. Several of the comments on the post also warn against improper handling of the values, noting that doing so could lead to holes open for attacks (like session fixation).
</p>]]></description>
      <pubDate>Tue, 22 Jan 2008 09:38:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Felix Geisendorfer's Blog: New fix for array junkies: Set::merge assembles yummy arrays]]></title>
      <guid>http://www.phpdeveloper.org/news/7575</guid>
      <link>http://www.phpdeveloper.org/news/7575</link>
      <description><![CDATA[<p>
In <a href="http://www.thinkingphp.org/2007/04/05/new-fix-for-array-junkies-setmerge-assembles-yummy-arrays/">a new post</a> today, <i>Felix Geisendorfer</i> shares a method for merging together nested arrays correctly with a little help from functionality in the CakePHP framework.
</p>
<blockquote>
<p>
Todays post features a brand new Set function called merge that was a side product of me working on a cool new cake class. If you've done a lot of array work in the past, you've probably have come in situations where you wanted to merge to arrays into a new one. Usually that's a no-brainer in PHP by simply using the array_merge function (or the CakePHP wrapper 'am'):
</p>
<p>
In about 90%++ of all cases, this will the usual way to merge two (or more) arrays into a new one. However, sometimes array_merge is not going to cut it. That'll mostly be because it does not behave recursive and merging nested arrays can lead to unexpected results.
</p>
</blockquote>
<p>
He even shows <a href="http://www.thinkingphp.org/2007/04/05/new-fix-for-array-junkies-setmerge-assembles-yummy-arrays/">an example</a> of the use of array_merge_recursive to try to get his desired results. With that still not working, he turns to CakePHP to help him out. He comes up with the Set::merge method to handle the merging of the arrays in what he thinks is a "more correct" way.
</p>]]></description>
      <pubDate>Fri, 06 Apr 2007 09:29:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jonathan Snook's Blog: Quick Merge in MySQL]]></title>
      <guid>http://www.phpdeveloper.org/news/6109</guid>
      <link>http://www.phpdeveloper.org/news/6109</link>
      <description><![CDATA[<p>
<i>Jonathan Snook</i> has <a href="http://www.snook.ca/archives/sql/quick_merge_in/">a quick tip</a> for PHPers out there using MySQL and looking for an easy way to concatinate a lot of data in your queries.
</p>
<blockquote>
<p>
This is just a quick tip. If you have a bunch of data that you need to concatenate, take a look at MySQL's GROUP_CONCAT function.
</p>
<p>
For example, way back when, I wrote about  (and subsequently weighting those tags) to an application. It was a very simple approach with each record having a tags field. It was just a simple text field and I stored all the tags with spaces. However, to pull out a list of all tags being used in the system, I returned the tags field from all records, looped through each record, exploding the tags onto an array.
</p>
</blockquote>
<p>
Using the group_concat() function already in MySQL, he was able to reduce looping through his data, splitting on the spaces down to a single line call in SQL telling it to concatinate spaces. He <a href="http://www.snook.ca/archives/sql/quick_merge_in/">includes the code</a> (just a few lines) to get the job done.
</p>]]></description>
      <pubDate>Tue, 22 Aug 2006 15:38:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Collections and Sorting Continued]]></title>
      <guid>http://www.phpdeveloper.org/news/5108</guid>
      <link>http://www.phpdeveloper.org/news/5108</link>
      <description><![CDATA[Previously <a href="http://www.phpdeveloper.org/news/5067">from DevShed</a>, they started a series on collections and sorting in PHP. Today, they've posted <a href="http://www.devshed.com/c/a/PHP/Collections-and-Sorting-Continued/">part two</a> of the series that builds on that and looks at sorting algorithm examples.
<p>
<quote>
<i>
This article will examine the primary sorting algorithms with code examples, and some empirical data regarding how they perform in relation to one another, as well as the size of the data set in question.
<p>
We will also create a function to fill up our collection with random data in order to test the sort algorithms with a sufficiently large data set. The sort algorithms listed above are the ones that every computer science student learns in college and are the primary sort algorithms found in real-world applications.
</i>
</quote>
<p>
The sorting styles <a href="http://www.devshed.com/c/a/PHP/Collections-and-Sorting-Continued/">they cover</a> include: bubble sort, heap sort, merge sort, quick sort, and shell sort. For each, they provide the code, making it a simple matter of cut and paste to make it work in your script. There's not a whole lot of documentation going along with the code in this article, but the sorting code is simple enough to understand without it.]]></description>
      <pubDate>Wed, 05 Apr 2006 07:13:17 -0500</pubDate>
    </item>
  </channel>
</rss>

