Ambitious Young Developer

Hi everyone, my name is Edward(Ed or Eddy, whichever you prefer), I’m 20 and did previously have a job as a junior developer a few years ago but for the past 2 years haven’t been doing much PHP at all since i lost my job, so recently I’ve decided I want to get practising again and currently attempting to create a simple lightweight CMS designed for small websites, my coding is very amateur(in my opinion) so a lot of the stuff I’m having to google :D.

In my spare time I also enjoy stargazing, when the weather permits of course and I also enjoy gaming on my PC and riding my motorbike :).

I’m hoping by joining up to this forum I’ll be able to maybe make new contacts with like minded people, and possibly try help where I can, but the main reason for joining is to develop my skills to I can hopefully get a job again

Sorry if I rambled on a lot, looking forward to see what this forum has to offer.

Eddy

Hi Eddy,

Welcome to the forums, good to hear you’ve decided to carry on with it.

I personally would always discourage developers that aren’t fully confident with their abilities from jumping straight into a CMS for numerous reasons. Why this is such a common goal I don’t know, but anyway… It’s great that you want to put yourself into the deep end, but that’s never a good idea if you’re not a great swimmer, sure you can flail your arms about and keep yourself from drowning, but things won’t go smoothly and you’ll probably just give up and get out of the pool.

What I’m trying to get at with that metaphor is that you’ll be struggling through every other aspect of a CMS (there are A LOT of things to bear in mind), for most people the extra research needed between every block of code will result in them getting fed up and abandoning the project, possibly even ruining their passion for coding.

I would instead suggest taking the various aspects of the final product and doing each one separately, some ideas for projects to work on:

[ul][li]JavaScript -> animating banners / galleries[/li]
[li]CSS -> horizontal nav bars with UL & LIs, with 2-3 child navs and rollover effects for all[/li]
[li]PHP & MySQL -> Write a database connection function/class (using MySQLi or PDO)[/li]
[li]HTML, PHP & MySQL -> Safe form submissions (cleaning data before inserting it into a table)[/li]
[li]PHP -> file upload - as a bonus, resize the file if it’s an image[/li]
[li]PHP -> user login[/li][/ul]

There are many more aspects of coding that you’ll need to master before completing a properly functional and secure CMS, but warming up on those above and more will get you on your way. Once you have those things you can start piecing them together into one system.

Good luck and happing coding!

Love it!! ;D
One of the best metaphors for learning PHP I’ve ever read! (may have to ‘borrow’ that :wink: )

Hi Eddy, (waving)
Smokey’s advice is sound! Learn to walk before you run - or swim in this case. :wink:
Feel free to give me a shout if you need a little nudge. :wink:

Cheers,
Red :wink:

Hey Ed,

Smokey has pointed something out, and I’ll re-iterate it. If you are not 100% sure of all the aspects required to create an efficient CMS, you’ll hit a reef when you begin building it. The scope of it is rather tremendous, and most of the optimization and best practices are not obvious unless you know where to find them.
I would strongly advise using and extending a few well-thought-out frameworks before launching yourself into building a CMS, for this very reason. You will get a large amount of experience from doing so, by dealing with concepts like ORM (I have no idea why people spit on this one - it’s the #1 thing to have in order to utilize memory caching!), routing, dependency injection + inversion of control, events and hooks and a whole bunch of other things that form the basis of any half-decent framework to guarantee performance, usability and extensibility.

Remember as well. If you build something, make it open for extensions, closed for modifications. This is not in terms of source code license but in terms of how you build something. Plan it so it is easily extensible, and lock down the parts that aren’t.

Sponsor our Newsletter | Privacy Policy | Terms of Service