August 16th, 2013, 08:19 AM
Taking Up A Big PHP Project - Suggestions Please
Its been a year since I started learning PHP.
And I'm feeling excited to go for a big project.
So, I've decided to code a forum CMS right from scratch. I'll be a simple one. I'll be using these tools and concepts :
- Simple PHP
- PHP Active Record ORM
- Twig Template Engine
- PHP OOPS
- Geshi Syntax Highlighter(for code syntax highlighting)
So, all I need is some suggestions if I should change or remove or add any tools here.
Any tips you'd like to give on how to proceed.
Any features you'd like to suggest me to add in the CMS.
I'm not using a framework as I dont have experience of using any and it'll take me too much time to learn to use one..
I'll also be taking some ideas and concepts from existing ones like myBB, IPB, vBulletin, SMF, etc especially for DBMS..
So, any tips, you're welcome...
August 16th, 2013, 08:51 AM
when specifying your project, take account of what all the user actions will be, when they're allowed to happen and what needs to happen for each action/event.
You'll see just how quickly a big project just gets bigger, and by listing the actions/events you can decide which to prioritise and which to add in later
You might also find yourself trying to design a system that allows for the addition of omitted features later...this adds a layer of complexity in its self
So, although you don't want to use an exiting framework, you might find yourself inventing anew one just for your app
August 16th, 2013, 09:18 AM
If you're going to use the latest PHP (5.5), you don't need PHPass, you can use password_hash.
Comments on this post
I ♥ ManiacDan & requinix
This is a sig, and not necessarily
a comment on the OP:
don't be a help vampire
August 16th, 2013, 09:22 AM
Alright... Thanks a lot for the input...
August 16th, 2013, 11:31 AM
It should be a good project to expand your skills. I recently built a CMS from scratch which included a forum.
That said, the one note I'd make is in regards to the Active Record pattern. I use it, myself, and wouldn't pick anything else, but prepare yourself for some craziness when you get to large scale operations like deleting topics of many posts, etc. You'll want to make sure that bulk actions don't change the database in such a way that instantiated objects representing some of that data fall out of sync.
Granted, that's kind of an optional concerns. Though it could theoretically lead to data inconsistency problems, I don't think any of the major forum softwares out there invest too much effort in preventing it, and the nature of how PHP usually runs has an inherent risk factor in this regard.
You might also want to consider using multitons to help prevent loading the same data objects multiple times per page load. I might go as far to say the AR pattern only makes sense when managed as multitons.
August 17th, 2013, 07:52 AM
Originally Posted by dmittner
Will be looking forward to learning the concept of multitons...