Jump to content

What do you look for in a framework?


proggR

Recommended Posts

I've looked at a few frameworks and started to play around with Zend for a bit but found it limiting in the way it structures things (which could be due to my lack of understanding of it or my unusual way of building a project). So for me I want a framework that can fit the way I code but still take care of the essentials. What have you found with using/reading about frameworks that you find is a requirement? What are core functions it should handle?

Link to comment
Share on other sites

You could look at a component based framework such as Symphony 2, that way you can pick and choose which components to use and which to switch out. I've done some reading on it because it's something we are looking to move to at work (from Kohana), though I can't claim to say I know a great deal about it.

Link to comment
Share on other sites

I like the idea of being able to add or remove desired features, if that's what you'd call them. I find most that I've looked at do more than I want, though I haven't looked too deep into any one framework really. I'll take a look at Symphony.

 

Any other things that a framework would have to do in order for you to use it? What basic needs would have to be met?

Link to comment
Share on other sites

Zend offers more configuration over convention than many of the other frameworks so I'm not sure how you would find that limiting. If anything, you will likely find other frameworks more limiting in the way things are done.

Link to comment
Share on other sites

What do you look for in a framework?

A frame

 

For you to work?? :P

 

Zend offers more configuration over convention than many of the other frameworks so I'm not sure how you would find that limiting. If anything, you will likely find other frameworks more limiting in the way things are done.

 

I didn't look too far into it. There were things I liked but I didn't like having my folders structured the way they required (or at least in the tutorials I looked at). Particularly was the way views were handled. Again, I didn't look too far into it but I've made a fairly adaptable templating system that I like to use and trying to fit it into the ZF way of handling views doesn't work well from what I saw of it.

 

I didn't mean to have this turn into a thread convincing me that ZF is a good framework. I'm sure it is. I was just trying to find out what people that are more familiar with PHP frameworks than I am thought were minimum requirements of a framework. Worded differently, what does ZF do that makes it a good framework that all frameworks should do?

 

Link to comment
Share on other sites

There were things I liked but I didn't like having my folders structured the way they required (or at least in the tutorials I looked at).

 

These are likely just defaults. Zend (probably more than others) is completely configurable so you can put things wherever you like.

 

There are basically two types of frameworks. One that favors configuration over convention, meaning you need to configure where everything goes, these usually provide fairly sane defaults as well though (Zend). The other, one that prefers convention over configuration, meaning you have to do things the way the framework wants and put things where it expects, these are usually configurable as well, though it might be a bit more work to get things going (Rails).

 

So, with that in mind it all depends on how you work.

 

What do I expect/want from a framework? A decent Routing mechanism, that is easy to configure/customize, sane defaults for parts of the application I don't want to have to worry about. Something that is fairly loosely coupled together so I can just use what I want, I don't really care for huge libraries of helpers but the ability to integrate other third party code should be pretty straight forward. Above all, clean tested code, good documentation and a decent community.

 

Zend, Symfony & Rails have really been the only three I've spent much time with and in the end, I'm rolling my own. Zend is awesome but it's always taken me a long while to get things the way I wanted and even then on larger applications I've had allot of performance issues. I haven't used Symfony for anything bigger than a blog but it's nice (2 looks even better). Rails is something I would definitely like to spend more time with but I'm a PHP dev by trade and don't really have the time at the moment. Ruby does have an awesome community of quality devs though, so it is still a very tempting proposition.

Link to comment
Share on other sites

Zend, Symfony & Rails have really been the only three I've spent much time with and in the end, I'm rolling my own.

 

This is actually why I was asking. I was talking to friend recently who's learning Cake and a lot of the things he liked about it the "framework" I've written does already so I've been considering taking the core of it out of my application, abstracting it a bit and releasing it as a barebones framework but since I haven't spent much time with existing frameworks I'm positive there are elements missing that I haven't thought of because I haven't come across them yet.

 

It would definitely need some recoding to abstract it but it would work. I feel pretty much the same from what you've written although you have infinitely more experience on the subject than me.

 

Any other features people feel are required in a framework?

Link to comment
Share on other sites

Any other features people feel are required in a framework?

MVC.

 

I use my own framework. Any bits of code I write that may be useful I add into it such as caching, WURFL, mod-rewrite, Sphinx, the list goes on....

 

Caching is something that I haven't even considered. Thanks for that. Also mail just came to mind.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.