I recently checked up on just about every PHP application framework I
could find.  I thought I'd throw my conclusions out for anyone else who
was looking for something similar.

What I was looking for:
Not a whole lot, really.  basics like user management (including admin
controls for deleting, banning, ...), permissions, maybe a
tried-and-tested utility library.  Has to run on postgresql, because --
no flames, please :) -- once you have experienced coding on a real
database with views, triggers, subqueries, etc. you can't go back.

What I found:
(Some of these aren't exactly app frameworks, but enough people thought
of them that way for them to show up on my searches so I'll include them
too.)

----------

phplib -- pretty much unmaintained for a year or so.  too bad.  php3
code, not php4.

phpgroupware -- more of a collection of apps; the "framework" concept is
there, but is pretty underwhelming.

smarty -- templating engine, but not a full framework.

binarycloud -- life is too short to write web pages with XSLT w/o a
REALLY good reason.  XSLT is a poster boy for why design by comittee
sucks.  shudder.  these guys have attended too many XML marketing
seminars.  ("XML Configuration Files."  If you really wanted to make it
useful, you'd store configurables in the database where it's editable
w/o root access.  And you wouldn't use XML. :0)  No data model included,
which makes it more of a utility kit than a real app framework.

krysalis -- commercial.  looked a lot like binarycloud in terms of the
"XML is the answer to everything" outlook but I grimly soldiered on
through the unnecessarily complex registration & download
forms.  has some kind of IDE but their main strength appears to be
spelling everything with a K.  Datamodel just includes users table and a
bizarre naming convention.

midgard -- limited to mysql backend.  Also has a quite hefty list of
requirements that would probably require VSD hosting to install, which
start at 2.5 times a decent apache + php + postgres shared account, so
that makes it a poor fit for low end hobbyists or anyone who doesn't
want to install a whole bunch of software.

twig -- not much to report here as I gave up in disgust when I saw that
their recommended PG version is 6.4.2.  Either they are idiots or they
only update their docs every 4 years or so.  Or the project itself
hasn't been updated in that long.

horde --  main point in its favor is it is quite actively developped,
and has an active community (mailing list has rougly 10x activity of the
others here), but the docs are pathetic.  (maybe that is why there is so
much mailing list activity. :)  Whoever designed Horde's rudimentary
data model was clueless --  primary key of the user table is the screen
name, for instance.

blueshoes -- commercial.  Docs only in pdf.  (!?)  I also couldn't find
anything on their site about mailing lists or discussion boards so
there's no way to tell what their users think.  Download is relatively
huge but quantity isn't quality.  No .sql files.  Grepping for 'create
table' came up with a few hits but nothing very promising.  How the
devil do you justify CHARGING for an "app framework" that doesn't even
provide rudimentary user tracking? :/

phpshop, rechristened Core  -- cvs tree is quite active. 3000 commits in
under 3 months -- unsure how usable the actual code is right this
minute.  Most impressive thing to me is 0 open, 162 close bugs on
sourceforge.   You NEVER see sourceforge projects that stay on top of
those.  Never.  Small-ish user base.  Uses phplib.  Not much in the way
of docs but given how in-flux the code appears to be perhaps that's
understandable.  Note: home page says 4 mailing lists.  Only active one
is the cvs log.  For user discussion, see the Forums link at the
top-right.  (Not the SF forums.)  mysql-only; disappointing data model.

roadsend sitemanager -- smallish user base.  the site is pretty nicely
put together.  fairly comprehensive docs.  (the name suggested to me
that it's CMS-centric but that doesn't seem to be the case.)  maintained
by a company that uses it in consulting.  weak data model.

mason -- I took a look at the most popular (? slash doesn't count) perl
app framework for fun.  It would have to be pretty impressive to
convince me to go with perl...  but I never had to face that dilemma;
mason is just a glorified templating engine.  Disappointing.

----------

Conclusion: none of these really fits what I thought were pretty minimal
requirements.  If I had to pick one, I'd probably go with sitemanager,
which is nearing the end of a development cycle.  Horde has too many
apps built on the current model for them to look kindly on some newcomer
saying, "Your data model sucks.  Let's replace it with one that doesn't."

Am I missing a great project?  I'd love to be wrong.

-Jonathan


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to