in Back to PHP

My way back to PHP

Motivation

I decided to bite the bullet. A while ago I started to collect some data about job offerings in this region. The distribution of languages is like that:

  • ~40% Java / C# enterprise stuff
  • ~15% Web frontend (HTML, CSS, JS)
  • ~10% Ruby, Perl, Python, etc.
  • ~35% PHP

After reading Thinking in Java by Bruce Eickel I decided that it’s better for my sanity not to program Java all day. I can do frontend dev but I’m not really hyped about it. I think I did my fair share when I was younger. Writing Python would be superb – however, there were only 2 job ads in the last 30 days.

So I bit the bullet. I’m going to learn PHP again or better relearn. I try to be open-minded about it.

edw519 has of course written about this in the past:

Hey you kids, get off my lawn!

[…]

2000s:
Happiness Language:    Lisp
Hack-it-out Language:  C#
Bread and Butter:      PHP

2010s:
Happiness Language:    Lisp
Hack-it-out Language:  Python
Bread and Butter:      Ruby

Ruby didn’t really arrive here – most Jobs are in Berlin from what I can see. Therefore I’m going to stick with PHP. And I agree Lisp is my happiness language and Python my hack-it-out language. It would be awesome to write lisp all day but there’s this thing called demand.

Framework: Zend vs. Symfony2

While looking through a lot of ads I saw that most required experience in some Framework. These two were mentioned the most. I looked around for reviews and finally settled on Symfony2. From what I heard it seems to be the better choice. If not, I can always relearn the other but for now I’m going to stick with it.

The plan

The first good thing is that I written code long enough so that I can transfer most of my skills. I did web development in Python. Written tons of algorithms in Python, Clojure, C and R. So I got that working for me at least.

The learning objectives

Here’s what I want to learn or accomplish:

  • Relearn the basic syntax, keywords, constructs
  • Learn the intricacies: how does the interpreter work, the OOP system, etc.
  • Get an overview over the standard library
  • Learn the right and idiomatic way to do PHP development today
  • Learn the most important pitfalls
  • Learn a bit more about MySQL
  • Learn more about the PHP OOP and Design Patterns
  • Learn Symfony2
  • Write at least one web app using Symfony2 and its core components (templating, testing, forms, validation, security, caching, i18n)

Resources

Here are my main resources for reaching these goals:

  • PHP Manual / docs
  • Programming PHP by Kevin Tatroe, Peter MacIntyre, Rasmus Lerdorf [540 pages]
  • Expert PHP and MySQL Application by Marc Rochkind [340 pages]
  • Learning PHP Design Patterns by William Sanders [362 pages]
  • PHP Cookbook by David Sklar, Adam Trachtenberg [820 pages]
  • PHP The Right Way by Josh Lockhart, Phil Sturgeon [51 pages]
  • Symfony The Book for Symfony 2.5 [258 pages]
  • Symfony The Cookbook for Symfony 2.5 [446 pages]

That will be 1551 pages cover to cover and 1266 pages of recipes. I obviously won’t read the cookbooks cover to cover but rather skim them and read mostly the things that either interest me or I didn’t knew how to do.

Deadline

I think a great deadline would be the end of this year. That is Wednesday, the 31st of December. Starting today (18th October) I will have 75 days to do it or 2 months and 14 days.

This makes my constraint to read at least 30 pages a day on average – I will aim at about 50 pages so that I have more time for development.

The format

I will make notes along the way. They will probably be a bit unorganized. I will regularly post about my progress.

 

And … go!

Write a Comment

Comment