Top 10 PHP Tips for Developers
I have always wanted to write an article like this, because
I think about it all the time - what 10 things would I deem the most important
to pass on to someone else? Well, after literally years of thought I think I
have come up with the best list that I can think of. So, without further a do,
let's get to it.
1) Go OOP
If you have not yet entered the realm of Object Oriented
Programming, then you are at a disadvantage, and you are falling behind fast.OOP
is essentially a method of programming with the use of classes, or Objects,
which tie like things together, remove the need for repetition of code and
perform the basic tasks of production very simply. Objects are essentially
classes that collect a bunch of functions together and wrap them in a wrapper
that can be reused over and over again without the need to rewrite
functionality or procedures every time you need to do something.Procedural
Programming works by following a routine from the top to the bottom of each
page as the server reads every file on your server. With OOP, there could be
one or two objects being instantiated, which, in turn could instantiate a few,
a hundred or a thousand other objects which could all perform certain tasks
depending on variables passed into the objects. OOP is faster, simpler, easier
to debug, uses less server resources, less code, is faster loading and more
logical to work with once you figure out the basic principles. Go OOP - It
changed my development style forever.
2) Stay Away from Anything Ending With _once()
We all know that include() simply gives us a warning if it
fails, while require() kills the script with a fatal error when it fails. What
we don't forget is that include_once() and require_once() is extremely hard on
server resources. There is nothing we can do about it, it's how PHP is set up.
Just remember that these things kill your server resources, specially on a huge
framework, and if you plan your code properly you won't even need it anyway.
3) Develop With Error Reporting On
The very first thing you do when starting a new project is
to turn error reporting to E_ALL, and you should only turn it off ten seconds
before going to production mode. I do this with every project that I build and
there is nothing better than running a project in full production mode and not
even getting one error. Besides that, with error reporting on, you pick up any
small errors that will eventually grow up to bite you in the... well, you get
my point.
4) Use A Framework If You Need One
Ok, so Rasmus Lerdorf says you shouldn't use a framework
because he could quite conclusively prove that a framework is much slower than
normal PHP code when it came to printing a simple "Hello World"
application. Two things to mention here though: you are not Rasmus Lerdorf and
I bet you won't be building a "Hello World" application every time
you program something. Frameworks that help you do the tedious things can help,
although you will have to learn how the frameworks function first in order to
make things simple, but that's the only real trade-off. Plus you stand less
chance of writing bad code when someone else has written most of it for you,
but let's pretend I didn't say that.
5) Use PHP's Inbuilt Functions
Ok, you want to count the amount of keys in an array? You
can loop through the array and simply increment a value for each iteration,
right? Or you can just use the built in PHP function count(), which does just
what it should. PHP has many built-in functions that can do what you need them
to, so check out the manual to make sure you are doing it in the best way
possible.
6) Protect Your Database
The best and safest way is to use mysql_real_escape_string()
for all database before it is added to the database. This function makes all
strings safe in terms of quotes and other functions that can harm your database
or contain malicious code, so use it to be sure you have taken the first step
against protection of your data. Another thing you can do is validate all POST
and GET strings, never use $_REQUEST, and make sure all form submitted data is
of the right type and value before adding it to a database query.
7) Use POST Not GET
Ok, this isn't always possible, but when its really not
necessary, don't use GET, use POST. The reason is simple - GET is simple to
emulate, all I need to do is add something to my address bar and I can hack
your project. Obviously GET is the easy way to do pagination and permalinks,
but when using form submission especially, stay with POST, it's safer.
8) Draw Before You Code
A good practice to get into is to wireframe your projects,
even if you are just scribbling a few notes on a piece of paper. It is very
important to actually give the mechanics of you application some thought before
sitting down to start coding, because in the process of planning it you will actually
iron out the difficulties in your head and avoid the major headache that comes
with the facepalm when you realize that everything you just did is either
wrong, not needed, or just silly.
9) Understand Your Project
An artist cannot draw something that he has not seen before.
A singer cannot sing a song that he has not heard before. You cannot code a
project that you do not fully understand. If you do not understand exactly what
it needs to do, and how it needs to it, you cannot build it.
10) Code Code Code
If I could get one thing through to anyone reading this,
this is it. You cannot become a good developer by reading. You cannot become a
good developer by watching someone develop. The one and only tried and trusted
method, is to actually write code. But - and here is the trick - build real
things! Do not go and code something that you have no interest in, or will
never use. Build what you like, and you will be excited and interested by it,
and you will learn. Then, make it awesome, build upon it, and make it better.
No comments:
Post a Comment