Learning Php in New York City
December 17, 2009 9:20 AM   Subscribe

I would like to learn Php & Web Development programming by taking courses in NYC. Any advice, suggestions?
posted by chirico to Computers & Internet (5 answers total) 2 users marked this as a favorite
The thing about learning web development skills is that almost everything you need to know about it can be found online with some googling. I recommend doing this for developing the bulk of your skills and only resorting to a class if you get hopelessly stuck.
posted by cirrostratus at 9:31 AM on December 17, 2009

I agree with Cirrostratus. Try this site and see what you can flesh out on your own before paying someone to teach you what you can get for freesies: http://www.w3schools.com.
posted by Gainesvillain at 9:45 AM on December 17, 2009

Another thing to consider with taking a class is that because web development courses have a clear career benefit they can be quite expensive while sticking with an academic schedule that can be hard to keep up with when work, illness, etc. come up. Depending on your programming experience you might have a hard time catching up if you have to take some time off with the risk of losing some of your investment.

In addition to the online resources you could also try using the NY library system to try some books like Larry Ullman's or the Head First PHP. That way you can see which ones you like before spending (or not). Others may have different suggestions.

I would certainly suggest trying some books to gauge your comfort before taking a class.

The thing I have liked about taking classes vs. not is the structure but you could try setting aside regular time to work on the books. And they do tend to give a structure. Another thing about classes I've found is that it can be hard to get a sense of the background required before you are well into the class and beyond the refund period.
posted by Athanasius at 1:53 PM on December 24, 2009

Thanks for the info. I have a book that I've gone through, the Larry Ullman one, and found it helpful. I can get work to pay for the course, so I figured it would be nice to have that extra help, but can't seem to find a decent one in the city.
posted by chirico at 11:15 AM on December 29, 2009

I'm pretty good at learning some things on my own but others I learn better from a class or at least another person. It may be worthwhile to take a course somewhere. Actually for computer classes many community colleges aren't that bad, although I can't comment on any of those in NYC. If your work is willing to pay for a "tutor", you could post something on Craigslist (or even MeFi Jobs!) asking for a tutor. This might be as cheap as a course since there are plenty of out-of-work coders these days looking for odd jobs.

I actually bought the Larry Ullman book because it was so highly recommended on Amazon, and in my opinion it's pretty terrible, although I have a stronger programming background so that probably biased me against it. The thing that really irked me was that all of the "Visuals" were nothing more than screenshots of code and/or browser pages, which seems so pointless to me.

The best way to learn is to create something. I'd recommend finding some cheap hosting somewhere and start your first web app, and go through various iterations of difficulty. This is the order I'd suggest:
  1. Simple form submission -- Start by creating weak password access to your web page. Add a simple login form on your page, and check for the password on the next page (with the password as a string in the code, as in if ($_REQUEST['password']="mypass1928") { $_SESSION['is_admin']=true; }). This gets you familiar with forms and gives you rudimentary security on your site, so you can add some admin functions.
  2. Database access -- Next make a very simple blog application with a form that accepts a title and body, as well as a page for displaying all of the entries in reverse order. Only allow a blog entry if $_SESSION['is_admin'] is true.
  3. Form validation -- add a date field, and test that the date is entered correctly; maybe enforce a minimum and maximum length for the blog title. One easy way to implement this is to have a single page that is called for every blog function -- say blog.php, that includes the form as blog_form.inc, and do all of the validation checking at the top of the file. If it passes, you save the record, otherwise, you include the blog_form.inc file with a list of the errors.
  4. Better authentication -- create users and groups tables (or whatever access structure you prefer), along with tools for adding/editing users and groups and changing access for users. Add a login form. (Extra credit: hash the password and salt it)
  5. Messaging -- add mail functions to the app. Maybe allow users to sign up when a new blog entry is added, and then write code so that all of them are sent the title and body of the blog
  6. Files -- add an image gallery. Create forms that allow file upload. Validate the files for correct mime type, size, etc. (Extra credit: resize images and create thumbnails)
  7. Interacting with other sites -- pull feeds from other sites using curl or similar variants (avoid fopen). Learn how to use XML functions to parse the results and output on the page.
  8. (optional) Try out a few PHP frameworks. I'm not very familiar with PHP frameworks, myself. Most of my PHP sites thus far have been pretty limited in scope so I've done well without one.
Once you've done these, you seriously can write nearly any web application, ever. At this point it's just a matter of familiarizing yourself with SQL (the obvious and best choice for database interactions, I strongly recommend Teach Yourself SQL in 10 Minutes) and various PHP functions to deal with specific needs as they come up.
posted by Deathalicious at 10:06 PM on December 29, 2009 [1 favorite]

« Older Most protective cases and accessories for iPhone...   |   help me party like it's 1929 Newer »
This thread is closed to new comments.