PHP lessons learned

I did a little more work on the WREK web pages today. I do believe I’m
to the point where I can bat out PHP pages that do a number of DB
tasks pretty simply. I’m at the point where I have the hard won
knowledge. Here are a few of my nuggest that I’ve learned, all the
hard way.

– At least for Oracle and mysql, use the FetchInto type functions and
get your results as associative arrays. There is a runtime hit, but it
makes your code much much more readable than cryptic index based
functions like “OciResult(, 3)” that force you to count columns in
your original SQL statement to see what the hell is going on.

– If you are getting a number of results to present as a table or
list, save them off into an array of the arrays from above. This
allows you to do your own sorting which might be different from the
database’s “order by”. It also enables cool things like
allowing people to sort differently via HTML forms with minimal
coding.

– Create one or a set of files you include in standard pages. If you
have a utility type function that you find yourself cutting and
pasting into another page, don’t. Put it in the utility include
instead. Otherwise, you’ll one day find yourself fixing a bug and then
having to grep to find all the files you put that bug in. Past it in
the include and remove it from all your PHP pages.

– Use source control, even for your own trivial projects at home and
even if you are the only person touching the files. There is nothing
like having that history to fall back on, and just being able to avoid
having all those “file.old”, “file.backup”, and crap like that is
worth it. I’m on the cusp of installing Subversion to try it out.