#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Posts
    37
    Rep Power
    2

    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
    • HTML/CSS
    • jQuery
    • PHPass
    • PHP Active Record ORM
    • Twig Template Engine
    • PHP OOPS
    • Geshi Syntax Highlighter(for code syntax highlighting)
    • PDO


    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...
  2. #2
  3. Mad Scientist
    Devshed Expert (3500 - 3999 posts)

    Join Date
    Oct 2007
    Location
    North Yorkshire, UK
    Posts
    3,661
    Rep Power
    4124
    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
    I said I didn't like ORM!!! <?php $this->model->update($this->request->resources[0])->set($this->request->getData())->getData('count'); ?>

    PDO vs mysql_* functions: Find a Migration Guide Here

    [ Xeneco - T'interweb Development ] - [ Are you a Help Vampire? ] - [ Read The manual! ] - [ W3 methods - GET, POST, etc ] - [ Web Design Hell ]
  4. #3
  5. No Profile Picture
    I haz teh codez!
    Devshed Frequenter (2500 - 2999 posts)

    Join Date
    Dec 2003
    Posts
    2,552
    Rep Power
    2337
    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

    • Jacques1 agrees : Or the password_compat library for PHP >= 5.3.7
    I ♥ ManiacDan & requinix

    This is a sig, and not necessarily a comment on the OP:
    Please don't be a help vampire!
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Posts
    37
    Rep Power
    2
    Alright... Thanks a lot for the input...
  8. #5
  9. No Profile Picture
    Dazed&Confused
    Devshed Novice (500 - 999 posts)

    Join Date
    Jun 2002
    Location
    Tempe, AZ
    Posts
    506
    Rep Power
    128
    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.
    LinkedIn: Dave Mittner
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Posts
    37
    Rep Power
    2
    Originally Posted by dmittner
    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.
    Alright... Thanks...
    Will be looking forward to learning the concept of multitons...

IMN logo majestic logo threadwatch logo seochat tools logo