views:

171

answers:

5

Hello to everybody!

I'm trying to improve my programming skills as web developer (still junior) and to accomplish that I do a lot of practice; but I know that should be a good practice to read and to study on some code written by professional programmers!

Until now, I have read only books (about PHP MySQL and a bit of JavaScript) that had a theoretical approach to the matter, so, I would like to read some books with a more practical approach ... but I don't know where to start!

I would be happy if you could suggest me a list of book for this purpose!

(My programming level is, almost, intermediate and now I'm reading "PHP in Action")


EDIT: First of all thanks for your answers, I've really appreciated them! But, as I've written above, I'm doing a lot of practice yet, by solving some real problem and developing some web apps for my customers!

The use of frameworks is not, IMHO, a good way to improve the programming skills but it's something to know to increase the programming knowledges ... so it's only a next step to follow but not a starting point to improve programming techniques!

That is why I'm looking for books with a practical approach and written by professional web developers ... to learn new programming techniques and improve the mine! For example, something like PHP and MySQL Web Development (by Laura Thomson) but with a major programming level!

+3  A: 

Once you have a basic skillset I think the fastest way to improve your skills is to start writing your own code. Some suggestions for getting started:

  • Write your own word press plugin
  • Write a very basic blog/cms system for your own website
  • Write a small game in PHP (even tic/tac/to)
Chris Pebble
Thanks for your suggestions Chris!
BitDrink
I'm not a fan of the "write your own blog" approach, but +1 for writing a small game; it may seem simple, but it actually takes quite a bit of thinking.
musicfreak
+2  A: 

Look for programming books with the term "cookbook" in the title, like this

http://oreilly.com/catalog/9781565926813

They tend to have complete solutions in them. That gives you the chance to read the goals of the code and then see how a professional developer put down the code to solve the problem.

Justin C
Thanks for your answer Justin!
BitDrink
A: 

For web development I tend to favour books that try to focus on the approach more than the mechanics (the "why" over the "how"). Both are obviously necessary, and ones that do this well IMHO tend to go through the creation of a web app throughout the course of the book.

(I am unsure whether you are looking to focus strictly on PHP or are open to others, so here are some examples for both PHP and my language / framework of choice, Python / Django):

For PHP I liked Practical Web 2.0 Applications with PHP. This goes through the creation of a full web app using the Zend framework with Prototype and Scriptaculous for the JavaScript framework.

For Django my favourite is Django 1.0 Website Development, which takes you through the creation of a social bookmarking application, using jQuery as the JavaScript framework.

Wayne Koorts
In this period I'm trying to improve my programming skills by developing some apps with my own classes, so I think that the use of a framework is not the good approach for now but It's something to know to improve my knowledge, so I will focus my attention to frameworks in a next step! However, thanks for your suggestions ... I didn't know the second book! ;-)
BitDrink
A: 

I would recommend you to go ahead and start a toy project as soon as possible. Something small that you can imagine ending ;), and preferably something that would be useful for you. For instance, with christmas in sight a simple app to organize a Secret Santa. Or maybe a site where some friends attending to a party can suggest songs... the project can be anything as simple as that.

Then you start coding. Choose a framework. I would recommend symfony for php. And they have a very good tutorial in which you code a quite complete app in a reasonable amount of time.

But basically my advice is to start coding and facing real problems. Then you read how to solve them.

nacmartin
I agree with your last suggestion, thanks!
BitDrink
+1  A: 

If you are a web developer - learn css/html/javascript as deep as you can.
Knowledge of those technologies are often neglected.

I'm a web developer for 3 years and only now I'm learning css from the right side and not just using it, hacking until 'it works'=>

ooh, it's not working? let's try overflow:hidden, position:relative, top/left, padding/margin, floating, zindex, some !important`s. aaaand - here we go. why? who cares...

The same with javascript. Are you sure you actually understand wtf is prototype-based language?

Better knowledge about networking is a nice thing to have too.
You should at least fully understand what HTTP protocol is.

Arnis L.
Thanks Arnis, your suggestions are really welcome! I completely agree with you about learning css,(x)html and javascript ... I have a good knowledge of the first couple of languages (In this case I think that for improvement purposes, should be done a lot of practice ... and take a look every time at the w3c documentation), but I admin that I have a really poor knowledge of JavaScript! Really good the last two suggestions! ;)
BitDrink