<?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>Thu, 23 May 2013 06:57:23 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[NetTuts.com: Pro Workflow in Laravel and Sublime Text]]></title>
      <guid>http://www.phpdeveloper.org/news/19317</guid>
      <link>http://www.phpdeveloper.org/news/19317</link>
      <description><![CDATA[<p>
NetTuts.com has a new article today for the <a href="http://laravel.com">Laravel</a> developers out there (an up and coming PHP framework) with some <a href="http://net.tutsplus.com/tutorials/tools-and-tips/pro-workflow-in-laravel-and-sublime-text/">handy Sublime Text tips</a> you can use to streamline your workflow.
</p>
<blockquote>
Not too long ago, I built a handful of <a href="https://packagist.org/packages/way/generators">generators for Laravel</a>, which ease the process of various tasks. Today, thanks to help from <a href="https://github.com/gnarula">Gaurav Narula</a>, we're turning things up a notch with the release of a new Sublime Text plugin that leverages the power of Artisan and the generators from directly within your editor.
</blockquote>
<p>
They help you get it installed and running and show (via a screencast) the steps to use it when working in your code. Their examples show the creation of resources (all MVC aspects and configurations), working with Artisan commands, migrations and other bits of code.
</p>]]></description>
      <pubDate>Fri, 15 Mar 2013 09:48:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nikita Popov: Cooperative multitasking using coroutines (in PHP!) ]]></title>
      <guid>http://www.phpdeveloper.org/news/18941</guid>
      <link>http://www.phpdeveloper.org/news/18941</link>
      <description><![CDATA[<p>
<i>Nikita Popov</i> has a new post to his blog about a new feature that will be coming in PHP 5.5 and <a href="http://nikic.github.com/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP">how to use them</a>, coroutines and generators, in an example application.
</p>
<blockquote>
Coroutines on the other hand have received relatively little attention. The reason is that coroutines are both a lot more powerful and a lot harder to understand and explain. In this article I'd like to guide you through an implementation of a task scheduler using coroutines, so you can get a feeling for the stuff that they allow you to do. I'll start off with a few introductory sections. If you feel like you already got a good grasp of the basics behind generators and coroutines, then you can jump straight to the "Cooperative multitasking" section.
</blockquote>
<p>
He starts with a look at generators, a piece of functionality that will allow PHP to, for example, more easily create iterators "on the fly." He then moves on to coroutines, added functions that you have two-way communication with generators instead of just pulling data from them. With the basics out of the way, he gets into the "cooperative multitasking" and a sample socket-based server he implements using some of the concepts. 
</p>]]></description>
      <pubDate>Mon, 24 Dec 2012 09:46:36 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Anthony Ferrara: What Generators Can Do For You]]></title>
      <guid>http://www.phpdeveloper.org/news/18263</guid>
      <link>http://www.phpdeveloper.org/news/18263</link>
      <description><![CDATA[<p>
<i>Anthony Ferarra</i> has a new post looking at <a href="http://blog.ircmaxell.com/2012/07/what-generators-can-do-for-you.html">using generators in your code</a> (as <a href="https://wiki.php.net/rfc/generators>proposed here</a>). He introduces the idea behind them and shows both a simple and more complex example of their use.
</p>
<blockquote>
The concept of generators was <a href="https://wiki.php.net/rfc/generators">recently proposed</a> for addition in PHP's core (Possibly for 5.5.0). While I believe that this is a great tool, it appears that many PHP developers aren't familiar with the concept of generators. So I thought I would take a little time and explain some of how it works, and how it can be used to greatly simplify code.
</blockquote>
<p>
He explains the concept of "generators" as an easier way to implement iterators. In his example he shows how to refactor is file handling iterator to replace it with generator functionality. It uses a new keyword, "yield", to return a Generator instance that can then can be used much like the file iterator without the need for all of the code to create the iterator itself. His more complex example shows how to replace an ArrayObject instance by a little trick inside its "getIterator" method.
</p>]]></description>
      <pubDate>Tue, 24 Jul 2012 08:43:58 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint.com: How to Create Your Own Random Number Generator in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17524</guid>
      <link>http://www.phpdeveloper.org/news/17524</link>
      <description><![CDATA[<p>
On SitePoint.com today there's a new tutorial showing how to <a href="http://www.sitepoint.com/php-random-number-generator/">create a random number generator</a> in PHP (with the help of methods like <a href="http://php.net/mt_rand">mt_rand</a> and <a href="http://php.net/mt_srand">mt_srand</a>).
</p>
<blockquote>
Computers cannot generate random numbers. A machine which works in ones and zeros is unable to magically invent its own stream of random data. However, computers can implement mathematical algorithms which produce pseudo-random numbers. They look like random numbers. They feel like random distributions. But they're fake; the same sequence of digits is generated if you run the algorithm twice.
</blockquote>
<p>
Included in the post is code showing how to use the random functions and how to create a class (Random) that provides a few methods to help make generation easier - "seed" and "num". It first calls "seed" with a number to start the random generator off with and then "num" in a loop to pull out random values based on that. 
</p>]]></description>
      <pubDate>Thu, 09 Feb 2012 10:03:35 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Symfony Blog: Symfony2: Getting Easier - Interactive Generators]]></title>
      <guid>http://www.phpdeveloper.org/news/16504</guid>
      <link>http://www.phpdeveloper.org/news/16504</link>
      <description><![CDATA[<p>
On the Symfony blog they've posted the latest in their "Getting Easier" series looking at some of the things being done for the framework to help make it more appealing for those just coming in. In <a href="http://symfony.com/blog/symfony2-getting-easier-interactive-generators">this new article</a> they look at the new interactive generators</a> that help you create the code you'll need to set up your bundles without a lot of manual effort.
</p>
<blockquote>
symfony1 has generators for all those things, but until now, Symfony2 was not very good at generating code. Well, that's "fixed" now, thanks to the new <a href="http://github.com/sensio/SensioGeneratorBundle">GeneratorBundle</a>. The bundle is included by default in Symfony SE (as of 2.0.0 RC1 which will be released on June 24th) and it knows how to generate bundles, forms, Doctrine entities, and simple CRUD controllers to get you started even faster.
</blockquote>
<p>
A screencast is included in <a href="http://symfony.com/blog/symfony2-getting-easier-interactive-generators">the post</a> showing the process of running the new tool and generate all of the configurations you'll need for a bundle, a Doctrine2 entity, database creation and the CRUD interfaces for a Doctrine entity. You can grab the code for this new bundle from <a href="https://github.com/sensio/SensioGeneratorBundle">the Sensio github account</a>.
</p>]]></description>
      <pubDate>Wed, 22 Jun 2011 10:09:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Victor Farazdagi's Blog: New Project: Phrozn - static site generator in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/16205</guid>
      <link>http://www.phpdeveloper.org/news/16205</link>
      <description><![CDATA[<p>
On his blog today <i>Victor Farazdagi</i> introduces a new tool he's developed to help make the creation of static sites even easier - <a href="http://phrozn.info/">Phrozn</a>, a static site generator that takes content and wraps it in a site's template and structure and outputs it for easy integration.
</p>
<blockquote>
Given the scale of how client-side technologies (such as JavaScript) evolved, most of dynamic functionality can be implemented using client-side scripts + remote web-services (e.g. Disqus for comments). More than often we a going down that road even on our completely dynamic sites - it makes things more simple.
</blockquote>
<p>
He gives the example of being able to write the content in VIM and run a single application - <a href="http://phrozn.info/">Phrozn</a> - and generate the new page to add to the site. He sees it as a good alternative to something like WordPress where most people only use 1% of the functionality it offers. You can find out more about the project by looking into <a href="http://www.phrozn.info/en/documentation/">its documentation</a> or you can just dive into the code by <a href="https://github.com/farazdagi/phrozn">grabbing it from github</a>. As a side note, several other tools, like <a href="https://github.com/mojombo/jekyll/wiki">Jekyll</a> are "blog aware" and can be used similarly. 
</p>]]></description>
      <pubDate>Fri, 15 Apr 2011 11:02:03 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[LogicPool.com: List of PHP and MySQL Code Generators]]></title>
      <guid>http://www.phpdeveloper.org/news/15342</guid>
      <link>http://www.phpdeveloper.org/news/15342</link>
      <description><![CDATA[<p>
On the LogicPool site there's <a href="http://logicpool.com/archives/297">a new post</a> with a list of PHP+MySQL code generators you can use if there's not a specific framework involved in your application (most of those come with code generation tools already).
</p>
<blockquote>
Some of these tools can rapidly build a fully functional application, but there's more to most useful applications than simply displaying a list of fields for users to fill out and viewing the results from an admin only accessible area. Most applications will need tweaks that can be small to large depending on the requirements. Keep that in mind when looking at these products as the amount of effort required to tweak the code produced by these tools.
</blockquote>
<p>
Tools on their list (some free, some paid services) include:
</p>
<ul>
<li><a href="http://www.bigprof.com/appgini/">AppGini</a>
<li><a href="http://www.hkvstore.com/phpmaker/">PPMaker 7</a>
<li><a href="http://www.scriptcase.net/phpgenerator/home/home.php">ScriptCase</a>
<li><a href="http://xataface.com/">Xataface</a>
</ul>]]></description>
      <pubDate>Wed, 27 Oct 2010 11:48:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Erik's Blog: PHP implementation of an LALR1 parser generator]]></title>
      <guid>http://www.phpdeveloper.org/news/13869</guid>
      <link>http://www.phpdeveloper.org/news/13869</link>
      <description><![CDATA[<p>
<i>Erik</i> has <a href="http://sankuru.biz/en/blog/7-figuring-out-compiler-technology/121-php-implementation-of-an-lalr1-parser-generator.html">posted about a new parser he's created</a>, one based on the <a href="http://en.wikipedia.org/wiki/LALR_parser">LALR parser method</a>, that can be <a href="http://sankuru.biz/downloads/lrparsers.zip">downloaded here</a> [zip].
</p>
<blockquote>
Parser tables, along with a lexer table, are the core constituents of any compiler's front end. This LALR parser generator is heavily based on my custom Php version of the <a href="http://en.wikipedia.org/wiki/MapReduce">map/reduce programming technique</a> (functional programming). I will elaborate in future posts, on why I used a map/reduce basis to implement the parser generator.
</blockquote>
<p>
Parsers organize a set of tokens based on the rules of a formal language the parser is given. Several of the grammar text files are included in the download so you can test it out for yourself. For more on the topic check out <a href="http://sankuru.biz/en/blog/7-figuring-out-compiler-technology/122-the-need-for-lalr1-packrat-parsers.html">these</a> <a href="http://sankuru.biz/en/blog/7-figuring-out-compiler-technology/123-the-essence-of-map-reduce-programming.html">two</a> posts.
</p>]]></description>
      <pubDate>Tue, 19 Jan 2010 13:03:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: CodeWorks DreamSchedule Generator]]></title>
      <guid>http://www.phpdeveloper.org/news/12911</guid>
      <link>http://www.phpdeveloper.org/news/12911</link>
      <description><![CDATA[<p>
If you're planning on attending any of the stops on this year's <a href="http://cw.mtacon.com">CodeWorks 2009</a> conference, you should check out <a href="http://phparch.com/main/news/view/47">this fun tool</a> you can use to narrow down your choices from the thirty or so talks to something a bit more manageable: 
</p>
<blockquote>
Conferences are always busy-there are people to meet, new subjects to learn, gadgets to envy, and so on. Among all the fun stuff, it's difficult to keep track of exactly what you want to attend. [...] Fear not! Our development team has come to your rescue with a new tool exclusive to CodeWorks 09: the <a href="http://cw.mtacon.com/schedule/custom">DreamSchedule Generator</a>, which you can use to create your very own customized CodeWorks schedule.
</blockquote>
<p>
The tool lets you pick the city of your choice and select each of the talks, one in each time slot, you want to attend. Name the schedule and you'll get a custom URL you can use to refer back to which sessions you wanted to attend. You can also send it out via Twitter if you'd like others to know where you'll be.
</p>]]></description>
      <pubDate>Tue, 21 Jul 2009 09:05:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[FlexandAir.com: CRUDdy Buddy - Zend_Amf Code Generator]]></title>
      <guid>http://www.phpdeveloper.org/news/11343</guid>
      <link>http://www.phpdeveloper.org/news/11343</link>
      <description><![CDATA[<p>
The Flex and Air blog has <a href="http://flexandair.com/?p=19">posted about</a> a tool that can be used to jump-start your Zend_Amf powered application - CRUDdy Buddy.
</p>
<blockquote>
CRUDdy Buddy is an AIR application I created to generate the code necessary to get started on a Zend_Amf project.  It creates all of the PHP necessary, along with ActionScript classes and &lt;mx:RemoteObject> tags you can paste into your Flex or AIR application.
</blockquote>
<p>
They have <a href="http://www.vimeo.com/2128472">a video</a> on Vimeo showing it in action. You'll need the Adobe AIR runtime to be able to use it, but that's a simple and quick install. There are versions for both <A href="http://flexandair.com/files/CRUDdyBuddy-Mac.air">Mac</a> (using Mac-specific fonts) and <a href="http://flexandair.com/files/CRUDdyBuddy_Win-Lin.air">Windows/Linux</a> (using Arial). You can download a PDF of the documentation <a href="http://flexandair.com/files/usageNotes.pdf">here</a>.
</p>]]></description>
      <pubDate>Tue, 04 Nov 2008 12:54:55 -0600</pubDate>
    </item>
  </channel>
</rss>
