I'm trying to create a simple CMS, and looking for a good tutorial, any idea?!

www.lynda.com - $25/month.

I don't know why you would want to create a CMS when there are three major CMS programs out there that are free and open source. Wordpress is by far the most popular and the one I would recommend first based on what I've read about it. It has a huge following. There are also Drupal and Joomla which will do great things for you as well. If you want to learn how to use any one or all of these, you could go to Lynda.com and/or Youtube.com.

If you absolutely insist on learning how to build your own CMS, I would recommend using Lynda.com. In order to build a CMS, I believe you'll need to learn all three of the web languages - HTML5, CSS3, and JavaScript - as well as something more powerful that runs outside your browser like Java. You can learn the three web languages for free at www.w3schools.com.

However, Java isn't offered on w3shcools.com. Java is, however, featured at Lynda.com, and I believe Codecademy.com as well. Treehouse.com is another site that teaches coding, but I don't know anything about their fees. Of the three pay sites, I would recommend Lynda.com just because I've used it before and I was satisfied with the tutorials.

Thank you @DaniUserJS for introducing those websites. Of course i can't use pay sites because of payment systems problems, so i have to look for a free tutorial. I'm familiar with wordpress as i'm using it for my personal 3D website. But i want to learn how to create my own CMS. I know HTML, CSS and JavaScript too.

Ah - so free is what you're looking for. Okay, in that case I would suggest www.youtube.com. I went ahead and searched for one (of many) tutorials on Youtube that will teach you to create your own CMS. Apparently, from what I gleaned, you'll need to know PHP and MySQL. I'll leave you with the URL for the channel that looks most promising to me. The user's name is Melvin Walls and here's his Youtube channel URL:

The videos from his channel that you'll want to watch are called "Creating a Basic CMS with PHP" and it's broken up into five parts. Here's the URL for part 1:

Melvin also has some tutorials on PHP and MySQL, so you might want to watch those first if you're new to those two topics. If his channel doesn't help you, you can always enter what you're looking for in Youtube's search field. I hope this helps you and good luck.

Thank you @DaniUserJS, i will go to watch them right now :) and hope to learn it well.

By the way, PHP, SQL and MySQL are three of the topics featured on www.w3schools.com - and it's free!

Thank you @fireburner29. I will check it.

Well, you could probably learn Laravel from Laracasts and then build upon it to get a full CMS running.

In addition to Laravel, since it seems to be having a few "teething problems" with version 5, consider other frameworks.

IMHO, CakePHP is the leading PHP framework for novices. It has amazing docs, and is a very constrictive framework. While this may be a tad awkward for some experienced developers, it forces good habits. As long as you follow the docs, you cannot possibly produce anything other than efficient, secure code. They provide a few tutorials and tons of code examples to help you out.

Another member, @iamthwee, tried a similar project a few weeks back - see it here. You just have to remember it's a massive task and you've got some serious competition out there.

I would suggest approaching it simply, build a blog (from the CakePHP docs even ;p). Then add to it, so you can edit pages etc. Don't try and bite wayy more than you can chew and get bored of it - cos hey - thats no fun.

Hope this helps, and good luck!

Thank you @matrixdevuk.

Thank you @mattster.

Try OctoberCMS. Its based on Laravel
Its way better than WP IMO

Member Avatar

As you're new to PHP Niloofar24, take some time to consider your next step. To use a framework or not. You mentioned in a previous thread that you have experience with other languages, so I assume that means some OOP and MVC too. If so, a PHP framework will save you a considerable amount of time once you've learned how to use it, which may take a considerable time itself!

If you want a simple MVC (or variant thereof), I would imagine CodeIgniter is your best bet. There are so many to choose from Yii (an old fave of mine), CakePHP (as faved by mattster), and the current darling of the PHP framework world, Laravel. I love Laravel (v4.2), but the current version is giving me nosebleeds, so I'm sticking with 4.2 for now.

The documentation tends to suck for most frameworks I've used. Laravel is piss poor. I think mattster mentioned that CakePHP docs were pretty good (never used it myself).

The pros for using a framework are many, the cons - well I can't think of any really for building a CMS. Most frameworks come with templating engines, so this is perfect for building CMS pages. Again documentation for various templating engines vary from being pretty poor (yes, I'm looking at you Twig - you may be beautiful but you're a secretive bitch) to the reasonably ok (Blade, RainTPL).

Native templating may be more hassle than it's worth, but it's an option all the same.

DB connection routines are a PITA, so let a framework take care of it for you. Are you seriously going to provide for mysql, postgres, sqlite etc? Laravel, for example uses Fluent query builder (or direct Eloquent models) to CRUD data. Manually programming that would be a killer. So very, very tedious.

Anyway, rambling again...

Though CakePHP might be a route for some; it's just as easy as Laravel 4. Laravel 4 took me about 4 days to learn to a point where I could make websites in under a day and they would be fully secure*. One more thing that rocks about Laravel is that it comes with authentication built in.

* Obviously not everything is 100% secure.

Member Avatar

Fair one MDUK, but remember you had the advantage of knowing PHP pretty well before embarking on learning Laravel. The OP is a beginner at it, although experienced with other languages. Laravel to a beginner in PHP would, to my mind, take quite some time, especially as there is such a reliance on OOP -Fluent, Eloquent, MVC and php-flavoured closures, to name but a few.

Good point, @diafol; but Laracasts clears a bunch up! I sucked at OOP before I started Laravel projects, and now I can teach people OOP. Plus, not having to build that authentication system is EXTREMELY useful.

@Niloofar24: I agree with Diafol that it is a good point to learn how to use PHP frameworks. I am in the middle of learning how to use it myself, which later on will saves some time when building web application. It's a good time investment though.

Lynda.com has some tutorials on CI frameworks and you can google many others free CI tutorials also.