What PHP Books do you recommend?

mancombseepgood

Executive Member
Joined
Jun 1, 2004
Messages
9,351
Reaction score
2
Location
.
What would you recommend as a good resource to learn PHP. I'm not a total web dev noob, know some ASP.net and want to get into PHP... what do you recommend? I saw the PHP cookbook online but it looks old (2002)... I imagine PHP has evolved somewhat since then.

Thanks!
 
Thanks Seymour - I assume it covers the basics of PHP and not just in the context of Mysql (although I do need get to know both)
 
Yes, it covers PHP from basics to the advanced by itself, as well with mysql. It then has a few chapters using both.
 
I know that I prefer reading books in physical form and not on an lcd. :) Each to their own. :P

My point was don't read books. Just get stuck in it.

I've been doing PHP now for like 5 min a day for the past 2 weeks and probably know more about the subject than you do right now. (no offense)

The one thing I tell all my junior programmers. Think of something you want to do. Anything (like writing a lottery number prediction program that takes the lotto numbers from a database and calculates the probability of them hitting that week)

And just get stuck into it.

I bought ASP for Dummies WAY back in 1997. Thought the R450 it cost me was a good investment. I didn't understand a single ****ing thing they had in that book. Not one. And it only made sense AFTER I started programming and just getting stuck into it.

Trust me. Its much faster reading a quick tutorial of less than 500 words on how to connect to a database and update/insert/delete to it with example code than to read a book. And you learn more while you're at it. So F5 = error, google error and read up on why it happened, what the cause was (and try and interpret the error before going to google to see if there was something you mistyped or a logical error from your side) etc.

You'll learn TONS more like that in a much quicker span of time.
 
I agree with Seymour and Acidrazor - I do get stuck in and learn that way but I do want to spend less than 12 hours a day in front of my screen. When I'm loafing in the lounge I want a piece of paper to read for a change.
 
I agree with Seymour and Acidrazor - I do get stuck in and learn that way but I do want to spend less than 12 hours a day in front of my screen. When I'm loafing in the lounge I want a piece of paper to read for a change.

Then you're not programmer material my friend ;)

I'm all for physical books, but then it should be entertainment and not some tutorial on how to do something.

The reason why I prefer not to read those types of books is because I need to see how it works, and the only way to do that is to physically do it. Because if I read the book and look at the logic they're trying to present, I imagine it differently to what the PC actually outputs. (My point I was trying to make with "getting stuck into it")

If I read a tutorial before going home for the day (I'm a programmer) by the time I get home I just NEEEEEEEEEEED to code that one module to see if it works. Same thing when I get stuck into a problem I can't easily solve. I think about it so much and if I don't have a PC @ home to try it then and there it's going to bother me till the next morning to try it out. So even if I had a book that told me exactly how to solve that problem I'm more inclined to try it out in the real world than to believe something I read, go to an employer claiming I can do XY and Z and then find I'm way in over my head.

Like I said. 12 hours is ****all. Try a 36 hour stint ;)

Then again, my ex-boss (contracting out to them for 3 months) told me the other day he's looking forward into working with a hardcore programmer again. :D
 
Then you're not programmer material my friend ;)

I'm all for physical books, but then it should be entertainment and not some tutorial on how to do something.

The reason why I prefer not to read those types of books is because I need to see how it works, and the only way to do that is to physically do it. Because if I read the book and look at the logic they're trying to present, I imagine it differently to what the PC actually outputs. (My point I was trying to make with "getting stuck into it")

If I read a tutorial before going home for the day (I'm a programmer) by the time I get home I just NEEEEEEEEEEED to code that one module to see if it works. Same thing when I get stuck into a problem I can't easily solve. I think about it so much and if I don't have a PC @ home to try it then and there it's going to bother me till the next morning to try it out. So even if I had a book that told me exactly how to solve that problem I'm more inclined to try it out in the real world than to believe something I read, go to an employer claiming I can do XY and Z and then find I'm way in over my head.

Like I said. 12 hours is ****all. Try a 36 hour stint ;)

Then again, my ex-boss (contracting out to them for 3 months) told me the other day he's looking forward into working with a hardcore programmer again. :D

The myth that you have to be a complete social retard to be a good programmer has been busted a looong time ago ... Sitting in a dark smoke filled room by yourself for 36 hours makes you neither cool, nor a good programmer.

Reading books is generally recommended for someone who is new to programming for the simple reason that the author is generally an expert in the field and for someone who does not know what they are looking for the information in the book will be of much greater quality than that of most things found on Google. Any kid can put a code snippet on the web and most newcomers won't be able to tell whether the code is any good or not, even though it might work.

The Zend Certification Study Guide is a great book which I'll certainly recommend: http://www.zend.com/en/store/php-certification/study-guide. There's also the added bonus that you should be ready to take the Zend Certification test when you're done with that. As for getting stuck into it and trying the examples, there's really no difference between the code in books and most tutorials on the web. Most books also offer the source for the examples on their sites so you can test/fiddle to your heart's content
 
I'm not saying you have to be a social retard to be cool or a good programmer.

36 hours is when a project goes live and needs testing and QA runs before it actually *goes* live. Sometimes you have to work against strict deadlines. So if you're advocating that it's okay to be just another drone and do some mediocare programming then go for it.

Whatever advice I gave here is what works in the real world. For me and the 3 junior programmers I trained.

http://imgs.xkcd.com/comics/11th_grade.png

Its not only me who thinks like that. Even though a book could be a good start for someone who knows nothing, I'd HIGHLY recommend saving your money and spending a bit more time online messing around with stuff. For the same amount of money that book would cost you could pay for 6 months worth of basic linux hosting and start today.

To each his own. I'm not the type of person who can study a book for hours on end (and it's been proven time and time again, if you're only book smart, when faced with real world situations you don't know squat)

So if he can get the basics down in a few real world situations, go through the debugging processes/reading up on the subject (like I said, short articles and forums are brilliant for this) he'll learn more from that than any book.

Books written by experts in their field to people who doesn't know their int's from their long's won't help much IMO.

Programming also needs a passion and type of dedication to it. Being in a management position for the past few years I've noticed that a lot of these "programmers" with "5 years or more" experience still don't know squat about setting up a server, how DNS works, what makes the internet "tick" and/or do what they need to do in a fashion that is easy to understand by others and could possibly be taken over by someone else without re-writing the entire application.

The knowledge he will gain in simple ****ing around with code is greater than he'll ever learn in a book IMO.

Plus there's no CTRL-F function in books ;)

To make an over-exagerated (sp?) example. You get people who reads the Bible back to front and knows it by heart. Can quote scripture and have a die-hard type knowledge about it and what it says, but you'll find most of them can't apply what it says or take into themselves the message that it is trying to put forth.

I know its a silly example, but its one that can be viewed. Booksmarts != real world
 
Then you're not programmer material my friend ;)

I'm all for physical books, but then it should be entertainment and not some tutorial on how to do something.

The reason why I prefer not to read those types of books is because I need to see how it works, and the only way to do that is to physically do it. Because if I read the book and look at the logic they're trying to present, I imagine it differently to what the PC actually outputs. (My point I was trying to make with "getting stuck into it")

If I read a tutorial before going home for the day (I'm a programmer) by the time I get home I just NEEEEEEEEEEED to code that one module to see if it works. Same thing when I get stuck into a problem I can't easily solve. I think about it so much and if I don't have a PC @ home to try it then and there it's going to bother me till the next morning to try it out. So even if I had a book that told me exactly how to solve that problem I'm more inclined to try it out in the real world than to believe something I read, go to an employer claiming I can do XY and Z and then find I'm way in over my head.

Like I said. 12 hours is ****all. Try a 36 hour stint ;)

Then again, my ex-boss (contracting out to them for 3 months) told me the other day he's looking forward into working with a hardcore programmer again. :D

Lol - you sir are a virgin in many respects ;) 36 hour stints are for newbies who don't have a life - no offence... and don't worry - you will one day have a job that pays more if you keep at it, then you can get married, have children and hobbies. I started programming as a hobby in the 80s but I have other hobbies now :D

I agree that you need to push when rollout time is, but if you have or become a good project manager, you will have dedicated staff and software for testing... although not all projects are big enough granted, but it's certainly more fun to be part of a bigger team.

Seriously tho, my PHP skill set is entirely for pottering and maybe tweaking the odd drupal module, who knows if it will grow further - I have no desire to become a full time PHP developer per se - that would be moving backwards in my case.

The advantage of books is to get an overview of what is possible with a platform - to implement it is learned through coding.
 
Last edited:
xkcd ... I was waiting for that to come up :) While I totally agree that actual coding is invaluable, I think the learning curve should be something that is calculated and well executed. IMHO books are simply the best way to achieve this because they offer a formal and structured form of knowledge transfer.

Programming also needs a passion and type of dedication to it. Being in a management position for the past few years I've noticed that a lot of these "programmers" with "5 years or more" experience still don't know squat about setting up a server, how DNS works, what makes the internet "tick" and/or do what they need to do in a fashion that is easy to understand by others and could possibly be taken over by someone else without re-writing the entire application.

This is exactly my point. I think this type of IT worker is the result of people just getting stuck into it and using Google without being guided in some way. Many times individuals will read just far enough to satisfy that very first question, making their little code snippet work, without giving thought to related areas of interest, e.g. DNS, TCP/IP, etc.

As for books not having CTRL + F ... err, welcome to the era of PDF books. More than 70% of books that I buy on a regular basis are available in PDF form. All of the books published at Pragmatic Programmers are and there is a great collection of online books available at O'Reilly's Safari Online books
 
The myth that you have to be a complete social retard to be a good programmer has been busted a looong time ago ... Sitting in a dark smoke filled room by yourself for 36 hours makes you neither cool, nor a good programmer.

Reading books is generally recommended for someone who is new to programming for the simple reason that the author is generally an expert in the field and for someone who does not know what they are looking for the information in the book will be of much greater quality than that of most things found on Google. Any kid can put a code snippet on the web and most newcomers won't be able to tell whether the code is any good or not, even though it might work.

The Zend Certification Study Guide is a great book which I'll certainly recommend: http://www.zend.com/en/store/php-certification/study-guide. There's also the added bonus that you should be ready to take the Zend Certification test when you're done with that. As for getting stuck into it and trying the examples, there's really no difference between the code in books and most tutorials on the web. Most books also offer the source for the examples on their sites so you can test/fiddle to your heart's content

Awesome stuff - thanks malek - I will buy and use this when I'm not in front of the PC ;)
 
Excellent site with very nicely laid out information: http://hudzilla.org/phpwiki/index.php?title=Main_Page

After you get the basics down you can just use the reference guide on http://www.php.net

There are plenty of resources on the web to help you out and also give you good examples of what and how to do things best. I find in programming writting scripts is the easy part, it's making those scripts secure that is the hard part. No matter what resource you use, make sure that they help with writting secure scripts and make sure you understand what makes the script secure and what exploits are used.

Problem with books are that they can get outdated very quickly, so I prefer using the reference guide for looking something up. :)
 
xkcd ... I was waiting for that to come up :) While I totally agree that actual coding is invaluable, I think the learning curve should be something that is calculated and well executed. IMHO books are simply the best way to achieve this because they offer a formal and structured form of knowledge transfer.



This is exactly my point. I think this type of IT worker is the result of people just getting stuck into it and using Google without being guided in some way. Many times individuals will read just far enough to satisfy that very first question, making their little code snippet work, without giving thought to related areas of interest, e.g. DNS, TCP/IP, etc.

As for books not having CTRL + F ... err, welcome to the era of PDF books. More than 70% of books that I buy on a regular basis are available in PDF form. All of the books published at Pragmatic Programmers are and there is a great collection of online books available at O'Reilly's Safari Online books

lol yea, xkcd rocks.

I don't think that the type of IT worker described is really the type that just got stuck into it. While I may agree with you in the structured/formal learning curve, the type of IT worker in my example usually has a qualification/formal training.

I might be different, but if I google something and then read it I'll more than likely start reading up on related things as well. IIS 7 for instance was a swift kick in the balls for my "years" of knowledge on web servers but I squashed that sucker down in 3 hours flat using Google and my related knowledge of the subject.

When it comes to programming you HAVE TO have a wide perspective in terms of doing and learning things. "What will this change I'm making to the code do to impact the direction we're going with this application. What will this application do to serve the business I'm developing this for? What other future needs may arise from this business entity when they start using my application?" etc

I'm probably biased, but I base my view points on what I've seen happen more than often. I'm sure you have had your fair share of idiotic programmers that screwed things up beyond belief and then decided to seek out greener pastures because their "god" status with a specific company has come to an end and they've gained enough real world experienced to deem "viable for head hunting".

I lost count :D

Anyway. Like I said. This might work for you and the OP. Certainly didn't for me, especially coming into it from a n00b perspective, I always found that working with it physically teaches me faster than reading a book.

Then again, I'm not those types who can intricatly detail how memory is stored and how fast bus speeds are and where computers came from. I just know how to optomize the **** out of it.

Erf. I should be working on my last day here... ffs... :p
 
I think some people learn by doing while others learn by studying... everyone needs both types of input to some degree but people are different and learn differently. I tend to learn by doing but for something new, I like to read before I get too involved, especially if my learning is after hours.
 
Top
Sign up to the MyBroadband newsletter
X