In the years that I’ve spent learning PHP, one of the major challenges I faced was deciding whether I wanted to continue learning PHP. I’ve heard a lot of criticism of the language in the professional developers circles, one of the primary criticisms being that it’s not an object-oriented language. To many PHP developers, this comment is like fingernails on a chalkboard. The PHP development community is predominantly made up of procedural developers who could care less that PHP may or may not be strictly OO, and they’ve made a lot of decent arguments for procedural development. Understanding the two sides of this debate can be tricky because, as would be expected, procedural developers are obviously going to argue for procedural development, and object-oriented developers are usually going to argue for OO development. However, among the arguments that I’ve heard that I consider to be the most objective, from either side, the verdict tends to be, that whichever method you choose should depend predominantly upon the project, and as a general rule, when dealing with larger development projects, the more that your methods are object-oriented, the better off you’re going to be.