
Frameworks vs. Libraries in PHP - pauljonas
http://www.otton.org/2008/08/05/frameworks-libraries-php-zend/
======
cousin_it
Can't help but link to IMO the best piece on libraries vs frameworks: "I’d
really like to give you this fork Jimmy, but you’re gonna need a knife and
plate to use it." <http://an9.org/devdev/why_frameworks_suck>

~~~
Hexstream
That seems a gripe about _monolithic_ frameworks... There's no reason a
framework can't be organised as a coherent collection of libraries of which
you can pick only the ones you need and that lets you assemble an
"instantiation" of the framework by choosing a variant of each type module you
need.

~~~
cousin_it
Here's my humble perspective on code reachability and the fork/knife/plate
thing.

Good: a library function with no dependencies, that accepts and returns
primitive data structures.

Worse: a library with lots of dependencies, and a set of idiotic "data types"
or "classes" I have to construct just to access the functionality.

Worst: a "framework" that calls your code itself, and requires a specific
"environment" that should be "set up properly".

------
markbao
I use Kohana primarily. It is an excellent framework supporting only PHP5,
with a great ORM engine and extensibility. It's fast, efficient, and
organized.

Their community isn't yet as strong as CodeIgniter's, but it's growing rapidly
(2.2 just released!)

~~~
jamongkad
Been hearing alot of good things about this framework and community. Currently
I'm submitting libraries to the CI hive. Will they be compatible with Kohana?

~~~
markbao
Depends. It would probably need certain customizations to fit into the Kohana
system. Definitely check into the Kohana IRC channel, the lead developers who
ported the CodeIgniter libraries themselves will be in there and will be there
to help you (#kohana on irc.freenode.net.)

The fundamental differences (general structure, etc.) between Kohana and
CodeIgniter are currently pretty low, so it shouldn't be too much.

------
richtaur
Eh, not much value in this article. Really, you take a fantastic set of tools
like symfony, and shrug it off with a one-liner like "over-engineered?" Lousy
and unfair.

~~~
MrFantsyPants
I've been working on a symfony project for the last six months, and after it
ends, I hope to never see it again. Over-engineered fits, but I also have
issues with many of their choices. In the end, I would have built a better
product in the time allotted using something else, even my own primitive
codebase.

Having come to know it pretty damn well, I'd have trouble recommending it to
anyone else.

~~~
pauljonas
I looked at Symfony, CakePHP, and a few others (at time, Zend was not anywhere
near production ready), and all just seemed like (a) overkill or (b)
inadequate. In the final analysis, I wrote my own framework.

On the flip side, homebrew framework development has become a larger project
in recent years. Nowdays, you need to include in AJAX integration, slicker
client UI, mobile phone accommodation, web services API, multimedia handling,
etc.... And you're going to be reliant on 3rd party libraries that you need to
research, choose, perhaps configure and upgrade at intervals.

Have used Rails for a few projects and it provided a constant stream of
annoyances as anytime you attempted to do something that didn't quite fit into
the DHH "vision", it was a hassle. Though I liked the DB migration setup in
spite of the lock in to autoincrement integer keys.

------
lyime
has anyone used Kohana php here?

~~~
gigawatt
I'm in the middle of learning PHP with plans to learn a framework afterwards.
I had pretty much decided on CodeIgniter since I'm such a big fan of
ExpressionEngine, and EE 2.0 will be based on CI. But Kohana definitely looks
interesting - based on CI, but with full PHP5 support. And the payment library
looks particularly enticing. The one thing that makes me a little leery is
that the CI docs looks a lot more complete than the Kohana docs, and I am
guessing the CI community is more robust. I'd love to hear some feedback from
anyone who has used both CI and Kohana...

