<?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, 22 May 2013 09:06:20 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: Running JavaScript inside PHP code]]></title>
      <guid>http://www.phpdeveloper.org/news/17609</guid>
      <link>http://www.phpdeveloper.org/news/17609</link>
      <description><![CDATA[<p>
On DZone.com <i>Giorgio Sironi</i> has a new post about an interesting new PHP extension that <a href="http://css.dzone.com/articles/running-javascript-inside-php">lets you run javascript inside PHP</a> - v8js (VERY alpha right now).
</p>
<blockquote>
v8js is a new PHP extension able to run JavaScript code inside V8, Google's JavaScript interpreter that powers for example Chrome and NodeJS. This extension is highly alpha - and its API would probably change in the months ahead. Since documentation is lacking, I invite you to repeat the discovering process I follow in this post in case you find some differences in a new version of v8js.
</blockquote>
<p>
He gives you the (PECL-based) commands to get the extension and it's needed dependencies installed and enabled. He uses PHP's own Reflection features to look at the extension and find its methods including: "executeString", "getPendingException" and "getExtensions". 
 To show it in action, he implements an old standby to test new languages - the <a href="http://www.codinghorror.com/blog/2007/02/fizzbuzz-the-programmers-stairway-to-heaven.html">FizzBuzz</a> example - in Javascript, executed inside the PHP. He also includes a quick example of how to load in an external Javascript file and execute the results.
</p>]]></description>
      <pubDate>Thu, 01 Mar 2012 09:56:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Github.com: Lisphp - Lisp in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14756</guid>
      <link>http://www.phpdeveloper.org/news/14756</link>
      <description><![CDATA[<p>
From the "just because you can" category today <i>Lunant</i> has created a port of the Lisp language via an interpreter in PHP - <a href="http://github.com/lunant/lisphp">Lisphp</a>.
</p>
<blockquote>
Lisphp is a Lisp dialect written in PHP. It was created to be embedded in web services or to be distributed within web applications. For that reason, it implements sandbox environment for security issues and multiple environment instances.
</blockquote>
<p>
You can grab the latest code from the <a href="http://github.com/lunant/lisphp">github page</a> for the project as well as check out some of the tutorials and details about using the interpreter features like use/from, custom functions and custom macros.
</p>]]></description>
      <pubDate>Wed, 07 Jul 2010 10:55:55 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Jack Diederich's Blog: Comparing the Ruby/PHP/Python C Interpreters]]></title>
      <guid>http://www.phpdeveloper.org/news/14203</guid>
      <link>http://www.phpdeveloper.org/news/14203</link>
      <description><![CDATA[<p>
Recently on his blog <i>Jack Diederich</i> took a look at <a href="http://jackdied.blogspot.com/2010/03/comparing-rubyphppython-c-interpreters.html">three different interpreters</a> for Ruby, PHP and Python to see how they were implemented as compared to the language they're used in.
</p>
<blockquote>
The other day I went poking around the Ruby and PHP interpreters (the current stable versions). I hadn't looked inside PHP since the 4.x series and Ruby I had never checked out. Like CPython the internals of both PHP and Ruby look something like their resulting language, but in C. For each interpreter I just compiled it and looked at how core types and extension types were implemented.
</blockquote>
<p>
For PHP, he went with the PHP 5.2.13 release and talks about the compile process (a bit spammy), running the unit tests that come included and how the interpreter handles data types, core types and objects.
</p>]]></description>
      <pubDate>Wed, 17 Mar 2010 15:02:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Johan Mares' Blog: Running PHP CLI shell scripts]]></title>
      <guid>http://www.phpdeveloper.org/news/11679</guid>
      <link>http://www.phpdeveloper.org/news/11679</link>
      <description><![CDATA[<p>
<i>Johan Mares</i> has <a href="http://blog.johan-mares.be/ict/php/running-php-shell-scripts/">a recent post</a> about using PHP on the command line:
</p>
<blockquote>
I already knew how to run PHP scripts from the command line (CLI), although I never really used it. What was new to me was that there are 2 ways of doing this. The first one is by using the php command and the second, and new for me, is by adding a shebang on the first line of your script.
</blockquote>
<p>
His first way is to run the PHP file through the interpreter directly (via a command line call to something like "php myfile.php"). The second it to actually include the path to the interpreter inside the PHP file itself and use the shell to execute the contents based on that (adding something like "#!/path/to/php" at the top). Then you just make the file executable and you can run it like any other binary file.
</p>]]></description>
      <pubDate>Tue, 06 Jan 2009 08:47:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPImpact Blog: PHP implemented in 100% Java]]></title>
      <guid>http://www.phpdeveloper.org/news/10799</guid>
      <link>http://www.phpdeveloper.org/news/10799</link>
      <description><![CDATA[<p>
In <a href="http://phpimpact.wordpress.com/2008/08/09/php-implemented-in-100-java/">this recent post</a> to the PHP::Impact blog, <i>Federico</i> talks about a slightly scary thing - a version of PHP implemented 100% in Java.
</p>
<blockquote>
<a href="http://www.caucho.com/">Quercus</a> allows developers to incorporate Java code into PHP web applications and gives both Java and PHP developers a fast, safe, and powerful alternative to the standard PHP interpreter.
</blockquote>
<p>
He mentions what it supports - things like Unicode and several of the popular extensions like APC, GD, MySQL, Oracle and PDF). There's also benefits he points out like the speed of the libraries (and safety) as well as interoperability with Java code and frameworks. Check out the <a href="http://www.caucho.com/">official Quercus website</a> for more information.
</p>]]></description>
      <pubDate>Mon, 11 Aug 2008 07:58:31 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Creating a Blog Application with Interpreter Classes with PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/7632</guid>
      <link>http://www.phpdeveloper.org/news/7632</link>
      <description><![CDATA[<p>
DevShed has posted the <a href="http://www.devshed.com/c/a/PHP/Creating-a-Blog-Application-with-Interpreter-Classes-with-PHP-5/">final part</a> of their look at working with the Interpreter pattern and its use in a PHP5 application with the creation of a simple blogging application.
</p>
<blockquote>
As you can see, the logic that drives the interpreter pattern is rather easy to understand and implement with functional PHP code. Therefore, in this final installment of the series, I'm going to demonstrate how to get the most out of this handy pattern by developing a highly expansible blogging application. The application will be able to insert, update and delete blog entries, using a simple MySQL database as backend.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Creating-a-Blog-Application-with-Interpreter-Classes-with-PHP-5/1/">start off</a> with the creation of the MySQL class that will interface with the database backend for the application. Also included is a Result class to fetch the results from each query. On top of these, they create the Blog class to handle the requests for information and a BlogHandler class to push the submitted data back into the database. 
</p>
<p>
Finally, they wrap it all together and give a real-life example of it in action, inserting new blog information and making an update of the content on one.
</p>]]></description>
      <pubDate>Mon, 16 Apr 2007 11:53:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Manipulating String Literals with Interpreter Classes in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/7590</guid>
      <link>http://www.phpdeveloper.org/news/7590</link>
      <description><![CDATA[<p>
DevShed has the <a href="http://www.devshed.com/c/a/PHP/Manipulating-String-Literals-with-Interpreter-Classes-in-PHP-5/">second part</a> of their look at the Interpreter design pattern series posted today. This time, they focus on the manipulation of string literals with Interpreter objects in a simple application.
</p>
<blockquote>
Bearing in mind that in the first article of the series I illustrated how to use an interpreter class to handle a group of fictional users, in this tutorial I'm going to go teach you how to utilize this pattern for manipulating a set of string processing classes.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Manipulating-String-Literals-with-Interpreter-Classes-in-PHP-5/1/">start with</a> a method (well, class really) of handling the strings themselves - a StringSaver class - that can write the information out to a file. On top of this, they create the Interpreter class, defining the different bits of functionality that can be performed on the string (uppercase, lowercase, etc). Finally, they <a href="http://www.devshed.com/c/a/PHP/Manipulating-String-Literals-with-Interpreter-Classes-in-PHP-5/3/">combine the two</a> in a simple example that applies the different interpretations to the given string.
</p>]]></description>
      <pubDate>Tue, 10 Apr 2007 09:08:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Building Interpreter Classes with PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/7553</guid>
      <link>http://www.phpdeveloper.org/news/7553</link>
      <description><![CDATA[<p>
DevShed is starting off another design pattern series with <a href="http://www.devshed.com/c/a/PHP/Building-Interpreter-Classes-with-PHP-5/">part one</a> of their look at the interpreter pattern - commonly used along with the Composite pattern to create more modular applications.
</p>
<blockquote>
In this series, which is comprised of three articles, I'll provide you with numerous code samples showing how to implement this useful pattern, ranging from building a simple application for managing user information to creating a decent blogger.
</blockquote>
<p>
As mentioned, their goal is to create a simple blogging application (eventually), but for now they just need to lay the foundation. They <a href="http://www.devshed.com/c/a/PHP/Building-Interpreter-Classes-with-PHP-5/1/">start with</a> an introduction to the pattern via the creation of the User and UserServer classes. Next up is the creation of the <a href="http://www.devshed.com/c/a/PHP/Building-Interpreter-Classes-with-PHP-5/2/">UserInterpreter</a> class to handle the requests and pass them along to the UserSaver. Finally, they show it in use, saving inputted user information into an array.
</p>]]></description>
      <pubDate>Tue, 03 Apr 2007 10:32:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ligaya Turmelle's Blog: PocketHPH - A PHP Engine for the Pocket PC Platform]]></title>
      <guid>http://www.phpdeveloper.org/news/5614</guid>
      <link>http://www.phpdeveloper.org/news/5614</link>
      <description><![CDATA[<p>
On her blog today, <i>Ligaya Turmelle</i> has a <a href="http://www.khankennels.com/blog/index.php/archives/2006/06/19/pockethph-a-php-engine-for-the-pocket-pc-platform/">quick post</a> about PocketHPH, a PHP processing engine for handheld devices.
</p>
<p>
On the <a href="http://mobileleap.net/hph/">PocketHPH homepage</a> it notes that the software is currently offered as a demo and can:
<ul>
<li>use a subset of the core PHP functions
<li>pass objects/arrays by reference (always)
<li>perform minimal error reporting
<li>require variables to be defined
<li>use superglobals as of PHP4.2.0+
<li>SQLite3 database support
<li>an alpha feature to allow fopen/file_get_contents
</ul>
</p>
<p>
If you're into the mobile platform and want to check out an interesting new development in the PHP world, <a href="http://mobileleap.net/hph/">give PocketHPH a look</a>.
</p>]]></description>
      <pubDate>Sun, 18 Jun 2006 19:51:45 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: J4P5 - Javascript For PHP5]]></title>
      <guid>http://www.phpdeveloper.org/news/4697</guid>
      <link>http://www.phpdeveloper.org/news/4697</link>
      <description><![CDATA[On the SitePoint PHP Blog today, there's <a href="http://www.sitepoint.com/blogs/2006/01/19/j4p5-javascript-for-php5/">a new post</a> from <i>Harry Fuecks</i> talking about <a href="http://j4p5.sourceforge.net/">J4P5</a>, a native PHP5 Javascript interpreter.
<p>
<quote>
<i>
I kid you not. In fact this looks like a pretty serious attempt. You'll need to download and run yourself. There's grammar rules for Javascript in there and a Javascript runtime written in PHP. It passes the "it works" test'"the examples run straight out of $ unzip. Looking at what it does and the TODO list, aside from the Unicode issue strikes me J4P5 is already more than 50% of the way there.
<p>
Aside from novelty, one real world use might be an extension to <a href="http://sourceforge.net/projects/simpletest">SimpleTest</a>'s web testing capabilities. With a little work there's also potential to create an awesome Javascript source compressor'"the lexing patterns are all there.
</i>
</quote>
<p>
He also mentions <a href="http://www.sitepoint.com/blogs/2006/01/19/j4p5-javascript-for-php5/">another project</a>, <a href="http://metaphp.sourceforge.net/">metaphp</a>, that builds a "higher level langauge" on top of PHP. The <a href="http://metaphp.sourceforge.net/index.php?page=tow">parser</a> for it was used in the <a href="http://j4p5.sourceforge.net/">J4P5 project</a> mentioned above...]]></description>
      <pubDate>Fri, 20 Jan 2006 07:12:54 -0600</pubDate>
    </item>
  </channel>
</rss>
