Results 1 to 2 of 2

Thread: Custom CMS Advice

  1. #1
    Join Date
    Dec 2012

    Question Custom CMS Advice

    Hi Guys

    I've been developing my own CMS in PHP for over a year and it's getting to the stage where I need some advice.

    I'm pretty much all self taught when it comes to PHP, but having a background other programming languages helped.

    However, I'm quite sure, being self taught, I've got a smattering of bad practices and habbits.

    So here's a quick summary of the CMS so far...

    All of it based off a series of Class files, which inherit base functions and their database connection from a single "Main" class.

    This main class has a "config" file included within it, which contains definitions for the DB username password etc.


    require_once "class.main.php";
    Class User extends Main {
        function __construct() {
    These classes can then be included in my fronted pages to utilize their features

    Pretty standard so far right?

    The issue I'm now having is that I need some of these classes to reference other classes internally... A current case is that I need the "Catalogue" class to use methods from my "Categories" class

    So my products class file looks like:

    require_once "class.main.php";
    require_once "class.category.php";
    class Catalogue extends Main{
       $this->category_obj = new Category();

    This to me just seems like a bad way of doing it? Having to "require_once" a class like that?

    I've been looking into namespaces as a potential solution to the problem, I understand how they work to a degree but I can't quite clearly see how I can incorporate them into my current architecture. I'm basically just looking for some advice and guidance on how to properly optimize and structure my code.

    Thanks in advance guys!

  2. #2
    Join Date
    Aug 2004
    Take a look at the __autoload() class. If you use a consistent naming convention and directory structure, you can come up with a fairly simple auto-load mechanism, e.g.:
    PHP Code:
    function __autoload($className) {
    $classPath $_SERVER['DOCUMENT_ROOT'].'/classes/';

    The above assumes a structure where class "Foo_Bar" would be in "<docroot>/classes/Foo/Bar.php". Obviously you can change it to cope with whatever naming convention and directory structure you like to use.
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center