tags:

views:

3020

answers:

6

I'm looking for a simple PHP framework for a 10-year-old child to build (with my help, of course) a NeoPets-like (but much simpler) website. The framework should simply registration/login, database connection and usage, session management. It should also have good documentation. I'm not sure we need MVC for this task.

Are there any recommendations?

CodeIgniter is an example to a framework which is too complex for this task and the child's abilities, but has good documentation.

A: 

I've used Symfony in the past. It is a lot like Ruby on Rails, so it may fit the bill. The website walks through building an entire application, which for learning by example is pretty useful. There are also a couple of books available.

I guess a lot of it depends on what is going to click for the child in question, having taught both children and adults, I can say from experience that for each student some things will click where it doesn't for others.

Andrew Van Slaars
If CodeIgniter is too complex, there's NO WAY that Symfony will fit the bill. Don't get me wrong, I love Symfony, but the learning curve is pretty steep.
Peter Bailey
I've never used CodeIgniter so I wouldn't know, but sometimes it's less about the complexity and more about how the student sees it. I've had students struggle with things I thought were simple and fly through things I thought were complex.
Andrew Van Slaars
I would rate Symfony as one of the more complex PHP frameworks. If the goal is to teach the child something about PHP and building websites, a framework is probably not the way to go. It certainly would have scared me off to be confronted with something like Symfony when I was a kid.
gaoshan88
This is the most convoluted framework I've seen. And its documentation isn't the best either.
stillstanding
A: 

Any of the PHP frameworks out there require significant training in object-oriented programming, databases, etc.

I'd suggest a CMS platform like Drupal or CMSMadeSimple. All the tedious heavy lifting is done for you, like databases and logins and even forums and stuff. You can do some design for the look & feel, and then you can focus on content.

Both Drupal and CMSMadeSimple have a large collection of community-provided plugins for extra functionality. The drawback is that these are often out of date and don't work with the latest version of each CMS.

Bill Karwin
I think you miss the point of this - it's not just about getting the site done, but helping his child learn programming at the same time. That is something for which a system like Drupal would be TERRIBLE for.
Peter Bailey
Ok, fair enough, I thought your objective was to get the site done.
Bill Karwin
+8  A: 

In my opinion, you don't need a framework - you just need a few components. Frameworks empower software engineers, but they don't make great learning tools. Even the simple frameworks (like CodeIgnighter) hinge their existence on their userbase having software knowledge - which is why they leverage more advanced development paradigms such as software patterns and object orientation that would make using them for a true beginner, difficult.

Perhaps you can out PEAR or phpclasses.org to get started with the components you are looking to simplify.

Or, pick up the PHP Anthology (specifically, Vol II) which makes for a great tutorial book that helps beginners develop re-usable components for common web-development issues (like session and user management)

Peter Bailey
+5  A: 

Check this minimalist PHP Frameworks:

I think they are simple enough to start learning about basic web application design.

If you want a more simple solution, I recommend you to check a CMS like Joomla or Drupal

CMS
+1  A: 

You can also use joomla. The extensive documentation and friendly community can help building even children their websites

+2  A: 

A great frame work that might be a good choice for a beginner is PHP Fat-Free.

Fat-Free has a built in dbase abstraction layer, and domain routing, so it promotes tidy easy to read code. But the nice thing is, it allows you to write either oo or straight procedural code. That's great for a beginner because you start with basic functions and build your way to classes... all in the same framework.

paperreduction
This framework was built with usability and programmer ease-of-use in mind. You don't have to be a rocket scientist to start using it, but you can certainly use it even if you're a rocket scientist.
stillstanding