Join 3,517 readers in helping fund MetaFilter (Hide)


How can a schlump like me learn PHP in the shortest possible time?
March 12, 2013 4:11 PM   Subscribe

I didn't ask for this! My employer is moving me to a position that will require a working knowledge of PHP development, but my skills are nowhere near up to snuff. "You learn quick, just pick it up" they say! I don't know where they got the idea that I DO in fact learn quickly, but I guess now I have to! So what can a guy like me do to pick up at least a passable proficiency relatively quickly? I can put in the hours, but I would rather put in the hours efficiently, if you know what I mean.
posted by Willie0248 to Computers & Internet (13 answers total) 30 users marked this as a favorite
 
Are you a programmer?

Find a local PHP user group. Ask them to tutor you.
posted by holloway at 4:17 PM on March 12, 2013


Codecademy just added PHP tutorials, but the track is mostly unfinished. Also available from treehouse. I have used Codecademy (but not for PHP), and it was good. I have heard good things about, but not used, treehouse.

I think a user group will be more helpful if you can get your arms around the basics first and can ask specific questions about things that are tripping you up.

posted by jeoc at 4:36 PM on March 12, 2013


Paid, but this is a good introduction: php Fundamentals
posted by backwards guitar at 4:37 PM on March 12, 2013 [1 favorite]


Codecademy can be a little YMMV depending on who wrote the course. I did the Ruby course that Eric Weinstein prepared and really enjoyed it... I see he's also the author of the PHP course, but since it only has the intro it probably wouldn't help you much.

As jeoc mentions, Treehouse is one option, and Lynda might be worth checking out too, since they also appear to have some PHP courses. Their offerings don't look as structured as Treehouse's stuff, though. Both sites have monthly subscription fees (minimum $25), but if your employer wants you to do this so badly I imagine you could get them to cover it for you.
posted by Kosh at 5:01 PM on March 12, 2013 [1 favorite]


Here's what someone who already knows how to program would need to know: Hm, that all also assumes you basically already understand the web.

If not, use these resources judiciously:
posted by Monsieur Caution at 5:31 PM on March 12, 2013 [10 favorites]


Are you a programmer? If not, the core understanding of how computers and networks interact is almost as important as the PHP syntax. If you are, remember that what ever is thrown at you is a subset of the language and do focused digging (google and stackoverflow are your friends).
posted by sammyo at 5:49 PM on March 12, 2013


If you don't already have an environment setup, get a cheap hosting account with PHP support and then use that to play around with.

When in doubt, Google the exact problem you are having (or cut and paste the error message) and undoubtedly you will find the answer, be it on StackOverFlow or some other PHP support website.

Lastly, don't let Monsieur's valuable, but potentially intimidating post overwhelm you.
posted by thorny at 7:00 PM on March 12, 2013


Lastly, don't let Monsieur's valuable, but potentially intimidating post overwhelm you.

This is a point I should echo as well. :D

What I ought to have asked first is stuff like whether you're getting control of one web form, one WordPress site, a half-dozen small apps, or some huge ugly home-grown app that accreted over the past 10 years, etc. The scale of what you're being asked to take on matters a ton for what "working knowledge of PHP development" means.

But you asked for the shortest path, and that was the shortest path I could think of to being able to handle a somewhat complex existing environment and new ground-up development at the same time.
posted by Monsieur Caution at 7:42 PM on March 12, 2013


What do you know? Regardless, don't freak out, your boss knows.
posted by rhizome at 9:11 PM on March 12, 2013


Thanks for the responses guys! I guess I should have outlined what I know a bit better. I've been on the customer service side of a small operation, which pretty much means I monkey around with html/css and a little bit of javascript to meet minor client requests ("make the doohickey appear on the other side") and troubleshoot their actual hosting problems. One of the designers moved on and now I have to learn how to actually work and develop within their somewhat buggy homegrown CMS, which is all PHP and SQL. The client demand isn't very overwhelming right now, so I guess they thought it was a good time for me to get on my feet with more technical duties. I don't really know any coding language, other than a tiny bit of javascript and python.

Thanks again so much for the suggestions!
posted by Willie0248 at 9:59 PM on March 12, 2013


+1 XMPP

http://www.phpscaffold.com/ will create simple read/write application for you. Pulling these apart & putting them back together is how I got my start with PHP programming, which I taught myself over the past year.
posted by MesoFilter at 11:43 PM on March 12, 2013


This post showed up on Tuts+ Premium after my last post. Again, there's a monthly fee to view most of the content, but it appears to be a nice guide to learning PHP and related items:

The Modern PHP Developer
posted by backwards guitar at 11:57 PM on March 12, 2013


Just as a point of reassurance, I started a new programming job a few years back having never used PHP before. I managed to fake it sufficiently well that, about two weeks into the job, the other developer on the team refused to believe that I hadn't been doing it for a couple of years.

The fact that in your case there seems to be an expectation that you'll need time to get up to speed should be doubly reassuring.

If you can use javascript, you pretty much know the basic syntax of PHP. Beyond the syntax, PHP is really just a massive library of (sometimes inconsistently named) functions and classes. The majority of the functions you'll use will be string and database functions, so it's a good idea to get the useful ones committed to memory (or at least set up as snippets in your chosen code editor).

Above all, keep your code clean and readable, avoid hard-coding values, and use plenty of includes and a logical file structure to keep your code organised.
posted by pipeski at 2:46 AM on March 13, 2013 [1 favorite]


« Older Mixing military history and na...   |  I've written a radio play, and... Newer »
This thread is closed to new comments.