Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP

How to practice Web Development (Looking for sources, books, website with exercises, quizzes and etc)?

Hey gang,

The title pretty much sums it all.

Everyone is telling me "Just build a website", but to me it seems like a waste of time. I don't want to work on a website that I would dump right after I finish it. And no, I don't have an idea for groundbreaking website to work on so I can't practice this way.

I might be looking at all this the wrong way, so if you have any words of wisdom to share with me - I will greatly appreciate it.

4 Answers

M. Cotter
M. Cotter
6,179 Points

Hi Roman,

The best way to practice, unfortunately, IS to build a website. You don't have to necessarily publish it to practice; you can just keep the files on your computer and preview them (to simply practice certain techniques), but going through the process of creating a website from step one (registering a domain name, purchasing hosting, etc.) will help you figure out the steps that you will need to take to work with a client as well as see how your work looks on a variety of platforms.

For my business, I have a dev URL that I use for clients when needed and, in between clients, for my own practice. If you're afraid of making public your practice, then you can buy a dummy URL like mine and just use that to practice on. You can then add meta tags with noindex to ensure that your website doesn't show up on SERPs. This information is in the SEO basics course here on Treehouse.

You don't need any fancy coding to get started. You can simply use HTML (structure) and CSS (appearance) to create a static website. Since you're asking for some resources, W3Schools.com is an excellent place to start as it provides both tutorials and quizzes. You can even earn certificates through them. In terms of books, I'd recommend just hitting up Amazon and doing a search for HTML or CSS, and get whatever is best reviewed and MOST CURRENT (the problem with purchasing books is that they can become outdated pretty quickly). Then I'd come back here to Treehouse to further develop your skills because it really does a good job of going in-depth and showing you some great techniques.

If you're looking for a subject for your website, it can be as simple as thinking up some sort of small business, like a restaurant. If you're a total beginner, I'd start with just a one-page website, very simple. Just imagine what sort of information you would include on your website if you were a restaurant owner. What message would you want to send to your customers? How would you draw them in? With images? Copy? How would you present your menu? etc. Then use W3Schools.com (or whichever resources you choose) to figure out how you could make that happen.

Or, if you have an artist friend (or are an artist yourself), a great idea for a subject is to build them a website because they usually have a good amount of specific content like an About page, a gallery, etc.

Ultimately, what it comes down to is your motivation for entering into the website development field. Do you want to build websites professionally? If so, you will not get clients without a portfolio. So, you're basically stuck having to eventually build, at least, one non-paid website. Try to not think about it as a waste of time, but as a great learning opportunity that is completely under your control. Once you get one website under your belt, you may be able to use that to land your first paid job, or, at the very least, another website to work on (for example, a friend's, a local business', etc.).

I hope that my answer addresses your question. If you feel that it's offers some insight, please consider marking it as the Best Answer! :) If not, let me know if there's anything else I can help you with.

Good luck!

M.

WoW! Thanks for the taking the time M to answer my question. It really helped :)

Any thoughts about PHP dev. ? I see you touched HTML and CSS in your answer, but I am more interested in the back-end process of Web Dev.

M. Cotter
M. Cotter
6,179 Points

Hi Roman // Yeah, sorry about that! :p I forgot it was in a PHP forum. I actually have little to no experience with PHP, but I did notice that W3Schools.com has a PHP5 tutorial that you might find to be useful! But ultimately, I think that it does come down to the fact that you are going to have to build a website at some point (other than a blog), so you might as well get cracking. Since you're more interested in the back-end, don't worry so much about design, just get creative about the subject and make it function how you want to. I know that WordPress uses PHP - you might find it useful to get a WordPress.org website up and running (you'll need hosting and a domain name) so that you can download the theme files and play around with the PHP files to see how that all works together. // Wish I could be more help! // Good luck! // M.

You could me, ha. And I'm here to tell you that what you're asking for is a trap. A beautiful, fun, satisfying, gamified trap.

It's easy to get caught up in accumulating points and badges on sites like TT, Code School, or free resources like Free Code Camp (excellent, btw) or Codecademy. Online quizzes, exercises, etc, are helpful in introducing and reinforcing concepts. They should be a starting point towards building a project, not an end in themselves.

They're NOT the same as actually creating a site or an app. You won't learn nearly as much from your perfectly scripted exercises as you will from that lame-ass site you build. Or the next one, or the third. I came to this realization the hard way - when I realized I'd done many and varied online courses in web dev, but when asked to sit down in front of a blank editor and bang out a simple html/css site, couldn't do it without a lot of prompting from Google.

Sure, it can be dull working on a basic site. But coding is a lot of muscle memory, and a lot of problem solving. You have work through a lot of tedium to get to a place where you can exercise both with any flexibility. And THEN - go build your super awesome site. Or, start easy and build it up over time, documenting changes and updates, increased knowledge and tools, as you go.

But don't get caught for too long in the online courses/exercises trap. You'll gain lots of pretty badges which mean absolutely nothing. Even a small, boring site or page is evidence of accomplishment. Don't confuse the two.

I agree.

Thank you for the answer Jacob :D

I think I would start with a new layout for my blog. Add some JS, than turn it into a full blog platform with PHP, and move forward.

Yeah, that sounds like a great idea! Go for it.

If you want to do just PHP/backend stuff there is a lot you can do. How much knowledge of MySQL do you have? Have you set up a local dev environment on your comp? do you use the command line, what about pulling api data and storing it into a database(JSON required), or security issues. If you want ideas go to github and search php, there is a ton out there. If you are thinking about WordPress checkout the dev course and build a plugin or a custom theme. So far as classes and tutorials there are some places that are very good but are expensive:

https://www.phparch.com/

http://marketinghacker.org/10-php-projects-for-beginners/

http://code.tutsplus.com/tutorials/30-php-best-practices-for-beginners--net-6194

Have you taken any logic courses yet? I highly recommend taking basic logic and some Math classes dealing with algorithm's. It will help you tremendously.

You should totally make a web site that if you looked back at it in 6 months thought was garbage. I'm sure you know the concept of leveling up, this is how you go about doing it. Start with a static site and then create a site with JS or PHP, add to the process. Like in almost everything you have to craw before you can walk, before you can run. If you make a web site that in 6 months looks like crap then you know you are going in the right direction. this is the mark of progress.