Ask HN: Become a PHP expert

6 points by RUG3Y ↗ HN
I know that PHP isn't the most popular language here, and it's not my ideal choice, but assuming that I need to become an expert PHP developer, what are some good resources I can read to accomplish that? I'm concerned with application structure, PHP gotchas, security, everything needed to deploy a quality PHP application. Any thoughts or suggestions?

12 comments

[ 3.6 ms ] story [ 38.3 ms ] thread
Learn Python...
I know Python but I am going to be required to work on some PHP projects. Thanks for the advice though, I guess.
"Learning PHP", fresh off the press, is quite useful as a first PHP overview in my opinion. It's aimed at PHP beginners with some prior programming experience.
I'll check it out, thank you!
Do you have the link? Lots of books with that title.
The most important aspect of becoming a PHP expert is navigating through a safe path in a land of a million pitfalls.

This means, you should not try to push the language yourself in anyway. Do the most straightforward, traditional things. Use a well tested framework (if you are doing web). Something like Symfony would do. Don't make your own 'deep' abstractions. The language is not strong enough to support them without a million unit tests to go with it.

Then you should have awareness of the most prominent of the Php pitfalls. /r/lolphp is a good resource for that. Go through the posts and read anything with more than a dozen upvotes.

Then, regarding security and other general topics, don't count on the Php community to answer your questions. I mean, don't take your questions to /r/php but /r/askprogramming or some general forums.

Trust only extreamly popular libraries that have in in use for long time. For example, Symfony components.

Two things you might want to take a look into is specifically Dependency Injection and the Composer dependency manager and how autoloading classes based on their fully qualified name (\Vendor\Package\Classname)

There's a number of excellent resources suggested in this post by others already so I wont repeat them.

One unique thing about becoming a PHP expert is the contempt you'll occasionally run into from others in the technology world.

Remember engineers get paid to solve problems for the business and success has very little to do with what the current flavour of "cool" is.