On 3/28/10 7:27 AM, Melvin Carvalho wrote:
2010/3/24 Matt Lee <[email protected] <mailto:[email protected]>>
I'd like to see a discussion on which PHP framework we should be
using,
if any.
Symfony 2.0 -- http://symfony-reloaded.org/ is one that has
already been
mentioned.
I did some more research on this over the weekend, and here is a
summary of some of the things I came accross:
*Background
==========
*
This is a poll that probably covers most of the different framework
options:
PEAR [ 2% (24 votes) ]
CakePHP [ 11% (136 votes) ]
CodeIgniter [ 12% (147 votes) ]
eZ Components [ 1% (17 votes) ]
I use my own framework [ 12% (146 votes) ]
Flow3 [ 2% (23 votes) ]
Fusebox
Prado [ 1% (6 votes) ]
Seagull
Symfony [ 10% (125 votes) ]
Zend Framework [ 33% (399 votes) ]
Other [ 15% (177 votes) ]
http://blog.thinkphp.de/archives/459-Which-Open-Source-PHP-framework-do-you-use.html
...
Also a basic post on stack overflow, with feedback:
http://stackoverflow.com/questions/2648/what-php-framework-would-you-choose-for-a-new-application-and-why
*
Combing Frameworks
==================
*
Also I think a valuable blogpost from /Matthew Weier O'Phinney /(Zend)
On Symfony/Zend integration, and on thinking beyond the framework.
http://weierophinney.net/matthew/archives/232-Symfony-Live-2010.html
*PHPBB4
=======
*
An interesting discussion on a candidate framework for PHPBB4* took
place here: (I have read a claim that they will adopt symfony 2)
http://area51.phpbb.com/phpBB/viewtopic.php?f=78&t=32433
<http://area51.phpbb.com/phpBB/viewtopic.php?f=78&t=32433>
Of particular interest is the open letter to phpbb (page 2)
http://area51.phpbb.com/phpBB/viewtopic.php?f=78&t=32433&start=10#p205215
<http://area51.phpbb.com/phpBB/viewtopic.php?f=78&t=32433&start=10#p205215>
/*About phpBB
phpBB™ ("PHP Bulletin Board") is the world's leading Open Source forum
software. Distributed under the GNU General Public License, phpBB is
free software, developed by volunteers from around the world. phpBB is
used on over 2.4 million commercial, non-profit, *social networking*
and community websites in over sixty languages. For more information
and to learn how you can contribute, please visit http://www.phpbb.com/
*Conclusion
==========
*
I'm not normally a huge fan of 'framework' concept, as my fear is that
you get tied in to a certain paradigm, however in some cases the
benefits outweigh the potential investment, and I can certainly see
the advantages in not reinventing this part of the wheel, in GNU
Social. A framework would provide a certain degree of scaffold, which
would allow developers to concentrate on the core functionality of
social networking and federation, potentially shortening the release
cycle. There seem to be a large number of frameworks out there, with
each offering different advantages, and having different followings.
If a framework is selected, an important aspect is to think outside
the paradigm, and use the best tool for each job, so some elements of
Zend could be used with a Symfony 2 backbone (symfony uses some zend
classes already), with a sprinking of PEAR and PHPUnit for testing.
Overall from some extended research, looking at many comparisons, and
talking to people who've actually used frameworks, I think symfony 2
would probably be the framework I would lean towards recommending.
It is known to scale well, powering several large sites such as yahoo,
dailymotion, and in future, possibly phpbb. From what I've heard the
company that backs symfony2 (senslo labs), is serious about security,
enterprise deployment, clean and modern code, which would likely be
beneficial to the overall project.
Happy to hear the thoughts of others.
I've said it once, and I'll say it again: PHP is a valid frontend option
for GNU Social, but I would strongly question it's suitability for the
backbone of a project such as this. A small, fast, desktop application
that users run to change settings, and serve out data to other users
could be written in something like Python.
How about such an application runs in the background on all GNU Social
computers (or, because it's been suggested, ARM-based power-outlet-sized
computers) at all times, receiving new posts (if it gets turned off, it
will load everything it's missed from the network) and sending out data.
Rather than having everyone running their own server, with their own GNU
Social PHP install serving data to /everyone/, we could use the PHP
install as a /private/ GUI - users point their browser to 127.0.0.1, and
load up a Facebook-like application with *all* their friends' latest
posts, images, videos, etc.
This particular itch (the need for an easy, extensible GUI) is certainly
best scratched by PHP. But to make PHP the backbone of GNU Social would
be a gross misuse of PHP - it simply isn't designed for (nor is it best
for) such a task, whereas something like Python /is/.
The Python application wouldn't display things to the browser, and I'm
not saying that we use Python to replace PHP's role as our web
application language - instead, we can use it to manage the backend
communications between GNU Social users.
--
Henry L.