all repos — h3rald @ bd311f8b8dc81e0210a670e0dc75be325d0ae7bc

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&#8217;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&#8217;s not available yet. OR
	at least it doesn&#8217;t seem to be: the author is planning to release his work to the Open Source community
	but&#8230; well, he&#8217;s a bit concerned about the current &#8220;<span class="caps">PHP</span> Framework
	War&#8221;: he wouldn&#8217;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&#8217;s always the same story of frameworks not being as we want them to be
	etc., it&#8217;s human. And yes, it&#8217;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&#8217;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&#8217;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&#8217;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&#8217;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&#8217;m also concerned about the <span class="caps">PHP</span> Framework war, I don&#8217;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&#8217;t want to spend my time discussing about if this is better or not than other
		solutions. That&#8217;s the reason I&#8217;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>