Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 8 of 8

Thread: PHP to CMS

  1. #1
    New Coder
    Join Date
    Apr 2009
    Location
    Newport Beach, California
    Posts
    96
    Thanks
    11
    Thanked 1 Time in 1 Post

    PHP to CMS

    If you know PHP (which I am in the process of learning), what is involved in applying these skills toward customizing a CMS? .. such as Drupal or ExpressionEngine or MODx?

    http://drupal.org/
    http://expressionengine.com/
    http://modxcms.com/

    I know EE uses CodeIgniter:
    http://expressionengine.com/public_beta/

    Is the transition easy? Or so you still have lots to learn?

    What do you guys think of these (and other) CMS'es? (Joomla is another popular CMS.)
    Last edited by PonchoX; 02-08-2010 at 07:21 AM.

  • #2
    Regular Coder
    Join Date
    Dec 2009
    Location
    UK
    Posts
    495
    Thanks
    0
    Thanked 58 Times in 58 Posts
    learning the way CMS's work is like learning a whole new language again. Even thought they're in PHP they have lots for you to learn. For example, drupal has a hooking system for modules, and requires you to learn quite a bit about how they all work. Wordpress has something similar called filters and actions.

    The point I'm trying to make is that you can edit these no problem, but don't be fooled into thinking just because you know php that they will be easy to move into, because they require quite a bit of dedicated research
    My site: JayGilford.com
    Resources:
    PHP Pagination Class | Getting all page links | Handling PHP Errors properly
    If you like a users help, show your appreciation with the rep and thanks buttons :)

  • #3
    New Coder
    Join Date
    Apr 2009
    Location
    Newport Beach, California
    Posts
    96
    Thanks
    11
    Thanked 1 Time in 1 Post
    Thanks Jay.

  • #4
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,994
    Thanks
    4
    Thanked 2,662 Times in 2,631 Posts
    I've been working on my own custom CMS (by myself, in me freetime, when I'm not lazy, and playing games, or watching tv, y'know how it goes right?) for about 2.5 years now. The design is sound, both for ERD and UML, so I started programming it about 6 months ago. Every time I reach the next step I'm like 'hmm, thats right. I thought I already made that class in my library....'. In any case, I now have a massive library.
    What I'm getting at is that these systems require an immense amount of planning. PHP itself is useless to you without a solid foundation and route you want to follow.
    My route for example is a basic N-tier MVC style front controller responsible for initiating and passing services. Services themselves implement an intercepting filter pattern to decouple all services from one another, and can relay chains back to the controller itself. Funny enough, I have yet to determine if I will generate a pull or push style cms, as both options are available with this design and its just a matter of changing the observer from services to controller and vice versa. Fortunately, that is generated via a template factory so it doesn't really matter which I end up choosing, I won't really have to code any major additional work.

    To get to where I am took a massive amount of planning, design and energy. Without even typing a single line of code I had been through 3 revisions, and have revised once since (my bad, simple error on an composite versus aggregate design). And eventually I will finish it.
    PHP Code:
    header('HTTP/1.1 420 Enhance Your Calm'); 
    Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

  • #5
    New Coder
    Join Date
    Apr 2009
    Location
    Newport Beach, California
    Posts
    96
    Thanks
    11
    Thanked 1 Time in 1 Post
    To get to where I am took a massive amount of planning, design and energy. Without even typing a single line of code I had been through 3 revisions
    Thanks for sharing, Fou. Very insightful. Obviously, you are a programming demigod of sorts.

    There currently exists literally hundreds of CMS'es, right? So I'm curious why somebody (ANYbody) would write another .. if not for the learning-experience.

    Does you particular CMS sport features that others don't? .. or distinguish itself in some way?

    It's clear that much work goes into these CMS'es. Whole teams of studly coders work long-n-hard to create their magic.

    And like Jay says, each takes considerable effort to master if you want to use it in your own projects.

    I've been lookin at the new MODx Revolution (2.0), currently at beta5:

    http://svn.modxcms.com/docs/display/...ODx+Revolution

    http://svn.modxcms.com/docs/display/...e+Announcement

    I like that it focuses on 'flexibility,' which was a main 'selling-point' for me.

    But selection of a CMS is a key decision, cuz if you invest a lot of time & energy into learning one, and later discover that it doesn't work for you .. you've just wasted considerable time-n-effort.

    And how do you really know without first putting it thru its paces. If there were only a handful of CMS'es, the decision might not be so difficult.

  • #6
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,994
    Thanks
    4
    Thanked 2,662 Times in 2,631 Posts
    While my system will incorporate quite a number of key features not available (though likely expandable into) current systems, I do this for the learning experience myself. Sorry, they are super secret for now

    Though I may be well versed in PHP itself, I can embarassingly admit that I haven't actually writen a functional piece of software in well over two years now. Its between my contribution on the forum and my fun side things that I keep up in the languages themselves (though the little side things have amassed to my now lesee... 98 class library or so?). Currently I'm writing a piece of scheduling software for my backup jobs at work in C, so that I don't need to do it manually anymore (I spent literally weeks getting a best fit scenario, then everybody wants it changed anyway >.<). That will be good.
    PHP Code:
    header('HTTP/1.1 420 Enhance Your Calm'); 
    Been gone for a few months, and haven't programmed in that long of a time. Meh, I'll wing it ;)

  • #7
    Senior Coder
    Join Date
    Jul 2009
    Location
    South Yorkshire, England
    Posts
    2,318
    Thanks
    6
    Thanked 304 Times in 303 Posts
    Quote Originally Posted by PonchoX View Post
    So I'm curious why somebody (ANYbody) would write another .. if not for the learning-experience.
    I'd guess everyone has a slightly different answer to that question.

    Personally, specific requirements. At the moment, I run a highly modified version of FluxBB, (and could quite possibly find the features I want in other wares), but you get to a point when modifying other software where the amount of work you're putting in to ripping something apart and rebuilding it how you want it may as well just go into creating your own system from scratch, exactly how you want it. Attempting to add a full template system was my personal 'oh screw it' point where I decided to start from scratch instead.

  • #8
    Senior Coder gnomeontherun's Avatar
    Join Date
    Sep 2007
    Location
    Houston
    Posts
    2,846
    Thanks
    10
    Thanked 238 Times in 229 Posts
    I work with Joomla, Drupal, Wordpress, and use CodeIgniter when custom programming.

    Obviously knowing PHP makes it possible to modify these, but in the end it comes down to what you need to do and learn. I've been working with Joomla for about 3 years now, and I'm pretty quick with it, but Drupal is a little newer to me so it takes longer. However, I know that Drupal works better for some projects and Joomla is good for others.

    So really, it depends on what you hope to do. If you are just a programmer type, and won't be doing much themeing, then you might find a PHP framework or a more coding centered CMS like Drupal will fit you better. If you want to do it all, like I try to, then Joomla or Wordpress are good because making a theme is much easier.

    In general, before picking a CMS or Framework, look at the community around it. See if people are active, if there is good documentation, and so on. Look at your own goals, because if you are just out to keep learning but aren't sure how you will apply things, you'll find its hard to pin down your actual skill set. Working with a CMS for a couple days should give you a good basic feel for it, and if it will satisfy your needs, but don't just test it, actively engage it and use the resources at your disposal.
    jeremy - gnomeontherun
    Educated questions often get educated answers, and simple questions often get simple answers.


  •  

    Posting Permissions

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