<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>H3RALD: CakePHP hybrids</title>
    <link>http://www.h3rald.com/blog/14</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Fabio Cevasco's Writings</description>
    <item>
      <title>CakePHP hybrids</title>
      <description>&lt;p&gt;When I first talked to gwoo, CakePHP&amp;#8217;s project manager, I asked him if Cake had any potential &lt;em&gt;limitations&lt;/em&gt;. I asked him &amp;#8211; I was kidding actually &amp;#8211; wether it would be possible to build an application like Gmail using the framework and he &amp;#8211; very seriously &amp;#8211; simply said &lt;em&gt;&amp;#8220;yes, why not?&amp;#8221;&lt;/em&gt;. 
I repeat myself when I say that CakePHP leaves plenty of freedom to developers within the bounds of its &lt;span class="caps"&gt;MVC&lt;/span&gt; structure: once you grasp the basic logic behind it, your possibilities are endless. I don&amp;#8217;t want to act as a Ruby on Rails fanatic and boast that &lt;em&gt;you can do anything  with CakePHP&lt;/em&gt; and things like that, but I can certainly say that CakePHP can be &lt;em&gt;extended&lt;/em&gt; and &lt;em&gt;integrated&lt;/em&gt; with other collections of scripts, frameworks and projects. With limitations, of course: you probably don&amp;#8217;t want to force an integration between CakePHP and another &lt;span class="caps"&gt;MVC&lt;/span&gt;/Event Driven/Whatever framework, simply because it would be rather pointless and potential conflicts may occur.&lt;/p&gt;


	&lt;p&gt;What I keep finding online is other open source projects adopting CakePHP as &lt;em&gt;backend&lt;/em&gt; and &lt;em&gt;structure&lt;/em&gt;. I&amp;#8217;m sure there are many examples which could be mentioned here, but I chose two in particular: one has been around for a few months and the other is just born.&lt;/p&gt;


	&lt;p style="float:left"&gt;&lt;img src="http://www.h3rald.com/img/pictures/amfphp.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://amfphp.org/"&gt;&lt;span class="caps"&gt;AMFPHP&lt;/span&gt;&lt;/a&gt; is quite an interesting project:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;[it] is an open-source Flash Remoting gateway. It&amp;#8217;s fast, reliable, 100% free and open-source. Flash Remoting is a technology built into the Flash player core that enables sending data between the server and the client seemlessly.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;In other words, it makes lifes much easier for developers who&amp;#8217;d like to integrate their flash animations and script more tightly into their &lt;span class="caps"&gt;PHP&lt;/span&gt; application. If you are curious to see some results, head off to &lt;span class="caps"&gt;AMFPHP&lt;/span&gt; &lt;a href="http://amfphp.org/showcase.html"&gt;showcase&lt;/a&gt;.
Cool, but what has this project to do with CakePHP? Well, gwoo recently created &lt;a href="http://cakeforge.org/projects/cakeamfphp/"&gt;CakeAMFPHP&lt;/a&gt;, a CakeForge project which just yesterday reached its &lt;a href="http://rd11.com/posts/view/21"&gt;0.4.0 release&lt;/a&gt;, and it&amp;#8217;s fully compatible with &lt;span class="caps"&gt;AMFPHP 1&lt;/span&gt;.2.3 and CakePHP 0.10 final.
Here&amp;#8217;s an excerpt taken from CakeAMFPHP &lt;span class="caps"&gt;README&lt;/span&gt;.txt file:&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;[&amp;#8230;] 
1) get CakePHP 0.10 final (http://cakephp.org)
2) get amfphp 1.2.3 (http://amfphp.org)
3) get the &lt;span class="caps"&gt;UFO&lt;/span&gt; js http://www.bobbyvandersluis.com/ufo/
4) put amfphp into /app/vendors
5) put cakeamfphp into vendors
6) put the cake_gateway.php in /app/webroot
7) put the cakeamfphp.php in /app/views/helpers
8) put CakeMySqlAdpater.php in /app/vendors/amfphp-core/adapters
9) Voila: NetServices.setDefaultGatewayUrl( &amp;#8216;http://localhost/cake_install/cake_gateway.php&amp;#8217;);
Access the service browser through
http://localhost/cake_install/vendors/cakeamfphp/cakebrowser/&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;The installation doesn&amp;#8217;t seem too painful at all. And &amp;#8211; guess what &amp;#8211; gwoo recently updated a very informative tutorial showing how to create a simple &amp;#8211; but still impressive &amp;#8211; bullettin board with CakeAMFPHP.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&amp;#8220;Cool, but I never liked flash, what about &lt;span class="caps"&gt;AJAX&lt;/span&gt;?&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p style="float:left"&gt;&lt;img src="http://www.h3rald.com/img/pictures/qooxdoo.gif" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;CakePHP has a nice &lt;span class="caps"&gt;AJAX&lt;/span&gt; helper to be used in conjunction with &lt;a href="http://prototype.conio.net/"&gt;prototype&lt;/a&gt;, but there are truly a lot of libraries, mini-frameworks, pre-built applications to create interactive desktop-like user interfaces. Some people may already know &lt;a href="http://qooxdoo.oss.schlund.de/"&gt;qooxdoo&lt;/a&gt;,&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&amp;#8220;[&amp;#8230;] an advanced open-source JavaScript-based &lt;span class="caps"&gt;GUI&lt;/span&gt; toolkit. qooxdoo continues where simple &lt;span class="caps"&gt;HTML&lt;/span&gt; is not enough. This way qooxdoo can help you implement your &lt;span class="caps"&gt;AJAX&lt;/span&gt;-enhanced web 2.0 application &amp;#8211; easier than ever before.&amp;#8221;&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;In a recent &lt;a href="http://groups.google.com/group/cake-php/browse_thread/thread/ba219c64cd794764/1d77973293514618?lnk=raot"&gt;discussion&lt;/a&gt; on CakePHP user group someone suggested the possibility to integrate qooxdoo with CakePHP. Apparently qooxdoo people were &lt;a href="http://www.nabble.com/Re%3A-qooxdoo-PHP-framework-project-p3799302.html"&gt;evaluating&lt;/a&gt; various &lt;span class="caps"&gt;MVC&lt;/span&gt; frameworks, and Cake was obviously listed together with two other Rails clones for &lt;span class="caps"&gt;PHP&lt;/span&gt;. The good news is that &lt;a href="http://cakeforge.org/users/a100rk/"&gt;100rk&lt;/a&gt; just started a new project called &lt;a href="http://cakeforge.org/projects/cqx"&gt;&lt;span class="caps"&gt;CQX&lt;/span&gt;&lt;/a&gt;, which &amp;#8211; although still in pre-alpha a development demo is already available, and it &lt;em&gt;shows off&lt;/em&gt; most of qooxdoo&amp;#8217;s features&amp;#8230; &lt;a href="http://cqx.100rk.org/trunk/"&gt;Take a look&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Best of luck to 100rk and his brand new project, I really hope to see more of it soon!&lt;/p&gt;</description>
      <pubDate>Fri, 14 Apr 2006 09:55:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:3dd14801-5d0c-102a-8a4a-e48c0fa51268</guid>
      <author>Fabio Cevasco</author>
      <link>http://www.h3rald.com/blog/14</link>
      <category>Blog</category>
      <category>CakePHP</category>
      <category>PHP</category>
      <trackback:ping>http://www.h3rald.com/trackback/entries/12</trackback:ping>
    </item>
  </channel>
</rss>
