views:

253

answers:

5

In the jungle of frameworks out there, I've come to the conclusion that I cannot simply determine a framework beforehand without considering the type of application/site I want to create. So I think I need a rittre herp with determining this one.

This site is a heavy graphics site, where basically all of the content is presented in a small square (div) in the centre of the page. And with graphics all around basically. And the graphics around it needs to be loaded only once preferrably.

What it basically is, well. It's a site where you log on with your user account and choose from a number of premade receipes for foods, or create your own. Then, you can hit a 'generate'-button to have the site generate a week or two of dishes for you. Other than that? The users need their own control panel where they can customize stuff as wallpaper, dishes, labels etc. As well as browsing receipes, adding ingredients and looking up which dishes they can create with the ingredients. Pretty basic stuff really.

And mind you, all of this data is supposed to be presented inside a square in the centre. So we need a system of jQuery panels as well. I was actually thinking and hoping of dynamicall adding content to this square as needed. Emptying the content and adding new content to it when clicking links etc.

Other than that, we don't need any community percé, perhaps the possibility to discuss stuff, but that can be in a separate external site or something.

It should also be mentioned that I myself are a graphics designer more than a programmer. I do get stuff pretty easily but I fear I don't have the capacity to create a framework like this from the ground up.. Although I do know a bit of Visual Basic, but not so good with C# (more the syntax really). I've never even touched PHP, but my partner has. He's also a bit familiar with Java as well. So, we basically need a framework that's easy to understand and get up and running.

+1  A: 

Ultimately if you want it to fit your needs you need to build your own framework, otherwise there will always be limitations. Keep in mind that there is no framework that you can simply install and tell it to do these things, you are going to need programming knowledge of how the framework works in its entirety and how to program your custom pages to work with those features. I found it easier to just build my own framework. That way I always knew exactly what everything did and if I needed something additional, I could easily add it in the correct spot without doing much thinking on it.

A framework is only the base materials and functions you need. If you're looking for something like a pre-built website such as PHP-Nuke or a forum system, you're looking for a content management system, not a framework. A framework generally comes with absolutely no pre-built pages. Might I add that some content management systems do come with their own framework and some use existing frameworks from elsewhere.

animuson
Yes, well. I am familiar with CMS systems. But is that really what we're after? I mean, it is about users and content. But not communities and not forums at all. Perhaps we should just create our own framework then huh? What about CakePHP?
Kenny Bones
I can only recommend CakePHP merely because it's the most common one I hear of. Off the top of my head it's the only one that comes to mind, although like I explained you will need to do a lot of studying in order to implement the features you desire. It sounded to me like you could have used a blog CMS such as Drupal that allowed users to create their own blogs, or recipes. Then you could use that as a base to customize it to add the additional features you wanted. I do believe there is a massive support community for Drupal too, and a lot of very popular websites utilize it.
animuson
A: 

So, we basically need a framework that's easy to understand and get up and running.

well as far as the above statement is concerned you may want to have a look at cakePHP framework.

You will easily find help on cakephp framework on stackoverflow and cakephp google group. Response will be quite fast on both the sites.

You will need to go deeply through the documentation of every framework that you plan to use because with a functionality that you are planning to built would require you to study the framework quite well.

With cakephp you will be able to create CRUD (create, update, delete) operations quite easily with less effort, but for further functionalities you will have to study it's documentation and keep your cool while you learn it :-)

Gaurav Sharma
Yup, that's what I'm landing on right now atleast. I really don't need anything too fancy. But there are some stuff I don't really understand. The basics for example. Perhaps we don't even need a framework like this?
Kenny Bones
that's your choice ofcourse. :)
Gaurav Sharma
+2  A: 

From what you write, I would say all "big, famous" frameworks will be able to do this fairly "easy"... So You should really define a few prototype tasks and check out a few of the frameworks. You should be able to solve this using, CakePHP, Symfony, CodeIgniter, Yii, Zend, or any other framework, so it is better to do some real testing.

You might look for a framework that has a tight integration to jquery, but this should not be a showstopper, since you should be able to implement this in almost any framework.

You might also consider footprint and execution time, and find a framework that performes well and is not too cpu heavy (read Yii or CodeIgniter for instance).

Good luck in the search

code-zoop
A: 

I have always found plain php to be all the framework I need.

PHP itself has all the features provided by the other frameworks A superb templating engine, database access, parsing, and control logic.

The great thing is all these features implemented in a single unified component called "php".

The main problem is you need discipline to separate presentation, navigation, busines logic and database/persistence handling. You can have sql statements mixed in with your html, you can emit html directly from an sql statement in fact you have complete freedom to implement all the known anti-patterns and invent some of your own.

The "Java" and "Perl" frameworks generally provide things like request handling, template handling etc. which are missing from the basic language, but, these features are built into php. Most of what the "php" based frameworks do is force you into (a very sensible) MVC design pattern and save you a tiny bit of coding.

James Anderson
+2  A: 

I rolled my own framework based on http://kissmvc.com/. It allows you to basically do what you need in PHP but gives you an easy MVC framework to do it in. You don't have to learn the specific syntax to Zend, Cake, Code Ingiter or Kohana, all of which I played with before I found kissmvc. Based on a blog post by Rasmus, it was all the direction I needed and I love what I have now for reasons @animuson mentioned.

Rasmus' post: http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html

Hans
Wow, this looks interesting. None bloat, and just a smart basic framework that I would probably have to create myself anyway :) Think this is the one actually :)
Kenny Bones