all repos — h3rald @ 3823f20ada8de57b8a16651ddb10048224bbe828

The sources of https://h3rald.com

contents/articles/34.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
-----
title: "Akelos Framework: too good to be true?"
content-type: article
timestamp: 1149931560
tags: "frameworks|php|webdevelopment|review"
-----
<p>Someone recently added a comment to my article about <a
		href="/articles/rails-inspired-php-frameworks/">Rails-inspired <span class="caps">PHP</span> frameworks</a>
	pointing out that I forgot another Rails-like framework, in my round-up. He obviously posted a link to this rather
	mysterious Rails port in <span class="caps">PHP</span> and spam or not, I'd like to thank this guy for letting
	me know of the existence of Akelos, a new <span class="caps">PHP</span> framework which seems simply too good to be
	true.</p>
<p style="float:left;"><img src="/images/pictures/frameworks/akelos_framework.png" alt="" /></p>
<p>Let me just spend a few words more before writing more about it though. First off, it's not available yet. OR
	at least it doesn't seem to be: the author is planning to release his work to the Open Source community
	but&#8230; well, he's a bit concerned about the current &#8220;<span class="caps">PHP</span> Framework
	War&#8221;: he wouldn't like to end up like <a href="http://subway.python-hosting.com/">Subway</a> or just be
	slagged off by those merciless reviewers who enjoy write round-ups and comparisons about frameworks. <a
		href="http://www.bermi.org/page/about_me">Bermi Ferrer</a> is &#8220;just&#8221; a talented <span
		class="caps">PHP</span> developer who decided to create his own framework and he really enjoyed doing so,
	nothing more, nothing less.</p>
<p><em>&#8220;I considered other <span class="caps">PHP</span> ports of Ruby on Rails, but we could not find all we
		needed on them. One feature that I needed on the core was internationalization and Unicode support, so I decided
		to roll my own framework trying to keep most of the original rails interface so most of its documentation could
		work for it.&#8221;</em></p>
<p>Where did I hear that? Nothing new: it's always the same story of frameworks not being as we want them to be
	etc., it's human. And yes, it's <em><strong>another</strong></em> attempt to port Ruby on Rails to <span
		class="caps">PHP</span>, and a damn good one &#8212; or so it seems.</p>
<p><small>Before proceeding any further, I'd like to write a short warning for a few people who may or may not
		want to pop in and start commenting about the Rails-is-better-than-any-<span class="caps">PHP</span>-clone
		issue: <strong>If I see a single comment slagging off this framework (or any other) only because it's a
			port of Rails to <span class="caps">PHP</span>, it will be deleted, may it be David Heinemeier Hansson
			himself</strong>. Stop it, no seriously, I think it will be counter productive for Rails in the end: I
		really like RoR and I love the way it works, and yes, I think Ruby is definitely the best language to do that
		sort of things, <span class="caps">EVERYBODY</span> <span class="caps">KNOWS</span> <span
			class="caps">THAT</span>. Please, please, save us poor <span class="caps">PHP</span> developers the usual
		preaching.</small></p>
<p style="float:right;"><img src="/images/pictures/frameworks/bermi_ferrer.png" alt="" /></p>
<p>Right, back to Akelos now. Curious as I am I immediately checked out the official page and all i found was a pretty
	long list of features which made me dribble, literally&#8230; ooops!</p>
<p>Let's just quote the most juicy ones, shall we?</p>
<p>Active Record [&#8220;Model&#8221;]</p>
<ul>
	<li>Associations</li>
	<li>Callbacks</li>
	<li><strong>Transactions</strong></li>
	<li><strong>Finders</strong> [
		<code>$Project-&gt;findFirstBy('language AND start_year:greater', 'PHP', '2004');</code> ]
	</li>
	<li>Versioning</li>
	<li>&#8230;</li>
</ul>
<p>Action Controller [&#8220;Controller&#8221;]</p>
<ul>
	<li>Filters</li>
	<li>Pagination</li>
	<li>Mime Type</li>
	<li>Mime Response</li>
	<li><strong>Code Generation</strong></li>
	<li>Response handler</li>
	<li>&#8230;</li>
</ul>
<p>Action View [&#8220;View&#8221;]</p>
<ul>
	<li><strong>Templates (using Sintags)</strong></li>
	<li>Web 2.0 javascript using prototype and script.aculo.us</li>
	<li>Helpers</li>
	<li>Partials</li>
	<li><strong>Template Compilers</strong></li>
	<li>&#8230;</li>
</ul>
<p>And then more Akelos-only goodies:</p>
<ul>
	<li><strong>Multilingual Models and Views</strong></li>
	<li><strong>Locale alias integrated on <span class="caps">URLS</span> (example.com/spanish will load the es_ES
			locale)</strong></li>
	<li>Database migrations using DB Designer files</li>
	<li><strong>Pure <span class="caps">PHP</span> support for Unicode (no extensions required)</strong></li>
	<li><strong>Unit Tested source code</strong></li>
	<li>Code Generators</li>
	<li>Built in <span class="caps">XHTML</span> validator</li>
	<li>Automated locale management</li>
	<li><strong>Clean separation from <span class="caps">HTML</span> and Javascript using <span class="caps">CSS</span>
			event selectors.</strong></li>
	<li>Ajax file uploads</li>
	<li><strong><span class="caps">AFLAX</span> integration</strong></li>
	<li>Dojo Rich Text Editor</li>
	<li>Format converters</li>
	<li>File handling using <span class="caps">SFTP</span> for shared host running Apache as user nobody (as most CPanel
		server do)</li>
	<li><strong>Distributed sessions using databases</strong></li>
</ul>
<p>Impressed? I was, honest. And I'm talking as a CakePHP fanatic here, and I must say that if this framework can
	really offer all this <em>and</em> &#8212; and this is what really matters &#8212; is also as simple as Cake to
	learn and well performing&#8230; well, this is definitely going to be quite a promising player in the &#8220;<span
		class="caps">PHP</span> Framework War&#8221; (but is not a real war, is it?), although the author is quite
	worried about that:</p>
<p><em>&#8220;I'm also concerned about the <span class="caps">PHP</span> Framework war, I don't want to play
		that game. Building this Framework was a great experience, it works great for me and it has helped me to become
		a better programmer so I don't want to spend my time discussing about if this is better or not than other
		solutions. That's the reason I'll first look for great developers interested in the Framework to
		help me releasing it.&#8221;</em></p>
<p>Really, this will be an interesting project to check out, once it goes open source, and yes, I really wish Bermi all
	the best. Good luck, <a href="http://www.bermi.org/projects/akelos_framework">Akelos Framework</a>.</p>