I've only played very little with the big CMS++ type systems like Drupal and Joomla. Always seems to me that the learning curve is just too steep and it's too easy to get backed into a corner which means spending days doing it "right" or else you end up with some ugly hack.

I haven't played with symfony, but did take the time to play with CakePHP on a couple of biggish projects. It's not so bad, though there is a learning curve. The nice thing is that once you're done with the learning of various conventions, lots of things are very quick -- but you can still resort to isolated "hacks" (or really, just lower-level coding) to get things done. The downside is that anything beyond simple one-table operations seems to be horribly inefficient, and I fear for the day that I have to try to optimize things.

For a while, I was using my own little system, which was an unholy marriage of PEAR's DB_DataObject (for activerecord stuff) and Smarty. It basically just extended DBDO with a render() method (for single records) and a renderList() function for recordsets. I've since decided that a non-PHP syntax for templates is just dumb -- so I don't use that anymore. I might re-implement with PHP for templates and start using it again. It can speed some things up.

Cake's main advantage is that it simplifies the simple cases for lots of UI stuff, which is usually a huge timesink.

Of course, once I got comfy with Cake, I started getting interested in what I can do on the front-end with extJS (http://www.extjs.com) -- maybe in a few months time I'll be fluent enough in both to have a good clean integration, which might be cool -- or might be completely unworkable... we'll see. One of the big problems there is that by using something like Ext, you're throwing out all of the saved effort of using Cake's view helpers, etc.

Anyway, just my $.02 on the state of PHP frameworks (or at least those I've played with seriously).

-Tim






Austin Smith wrote:
You know, I feel much the same way about the Zend components... reference implementations of important patterns, for sure, which I've enjoyed using on Big Important Projects but they hurt my head to use, what with the Zend_Package_Class_Subclass naming, the zillion page manual...

Generally, though, as a RoR/Symfony/Django/Zope/Drupal veteran, I'm tired of these monolithic frameworks. If it needs a book, it's too much for me these days. I love (usually) Drupal for what it is, but websites built in Drupal are built _in_ Drupal, and the language happens to be PHP. Same with Symfony. I think CodeIgniter feels fairly PHP-ish, but for something with supposedly no learning curve, it's still a bit steep.

Further, I've long wanted to write a very simple set of flexible helper functions for PHP newbies so they don't blow their brains out with things like mysql_query("insert into blog_entries values(0, "{$_POST['title']}", "{$_POST['body']}");

You know, provide simple active record, super simple controllers, no configuration, lightweight templates, pack it into one file to include in a single front controller, and forget about it. Plus a strong mission to avoid bloat... and that's it. Everything else could be a plugin, including the automatic admin architecture that was cool two years ago, but which I find pretty useless these unless you really _are_ setting up a CD library management system, the user management subsystem, blah blah blah.

Web.py, but for PHP, you know? And we could just use PHP for templating anyways, so it'd be lighter and simpler still.

I may just build this.

On Thu, Apr 24, 2008 at 4:40 PM, <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

        I've been coding in static languages for my day job for much
of the last year, but I'm still using PHP for my own projects. I'm increasingly coming to appreciate dynamic object
    construction,  dynamic method calls and 'magic' methods in PHP.

        As much as I like symfony,  it feels like an invader from the
    Java universe.  When are we going to have a mature framework that
    ~feels~ like PHP?

        More: http://gen5.info/q/2008/04/24/embrace-dynamic-php/

    _______________________________________________
    New York PHP Community Talk Mailing List
    http://lists.nyphp.org/mailman/listinfo/talk

    NYPHPCon 2006 Presentations Online
    http://www.nyphpcon.com

    Show Your Participation in New York PHP
    http://www.nyphp.org/show_participation.php


------------------------------------------------------------------------

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to