I wouldn't be too concerned about this guy's judgment of your PHP skills, most 
of his clues are very generic and slap-in-the-face obvious.
(I've jumbled a few up just to keep them categorized by my responses)

>>> don't comment your code properly with something like phpDoc

phpDoc isn't something you comment your code with. It's a document generator 
that parses a semi-standardized way of commenting code (JavaDoc-esque)


>>> have never used some form of version control like Subclipse

Subclipse isn't version control, it's an Eclipse plugin for the Subversion 
version control system.


>>> don't adopt some coding & naming standards and general conventions and 
>>> stick to to them at least throughout the project
>>> don't use a consistent methodology
>>> don't escape and/or validate properly input or sql queries
>>> don't plan your application thoroughly before starting to code
>>> don't use test-driven development
>>> hard code messages and configuration parameters
>>> don't see the benefits of a debugger
>>> don't refactor your code
>>> don't keep the different layers seperated using something like MVC
>>> don't know what these stand for: KISS, DRY, MVC, OOP, REST
>>> have never seen the advantage of unit tests or testing in general
>>> don't optimize your sql queries
>>> don't allow intelligent error handling
>>> don't know how to use regular expressions
>>> you've never heard of sql injection or cross-site scripting
>>> don't allow simple configuration, can be parameters passed to a class’s 
>>> constructor, set/get methods called later, or constants defined at a 
>>> runtime.
>>> don't understand the benefits and limitations of Object Oriented Programming
>>> misuse OOP / everything you write , no matter how small is OOP
>>> don't choose intelligent defaults
>>> don't have one single configuration file
>>> don't use a database abstraction layer
>>> don't keep it DRY, Don't repeat yourself. If you have to copy and paste or 
>>> duplicate something your design may be off.
>>> don't make a function/class/method do just one thing and don't make them 
>>> interact.
>>> don't try to take advantage of OOP specific features like 
>>> abstract/interface classes, inheritage polymorphism & access modifiers.
>>> don't optimize your application design with established design patterns
>>> pollute the global namespace, one option is to prefix the functions in your 
>>> library with a common string
>>> don't allow your user to define a base directory if you have multiple files 
>>> and/or directories
>>> don't program & test with error reporting on
>>> don't return content but echo or print it from your functions or classes
>>> return HTML, not data, strings, or objects.

These are important, but aren't specific to PHP so why he singles PHP 
developers out for them I don't know.

>>> don't use __autoload

Really? Wouldn't using this when not needed defeat KISS (as pointed out above?)

>>> use $_GET instead of $_POST for any destructive actions

Agreed. (though it's not unique to PHP other than the syntax)

>>> you think reusable software equals/requires your code to be OOP

Might not equal or require, but sure makes it easier...

>>> don't want the file contents to be seen, but give it a .inc extension 
>>> instead of .php

Agreed. This is just dumb. At the very least, setup a .htaccess rule that 
denies access too them.


>>> don't allow a table prefix when using database tables

Again, not specific to PHP... It's a good idea, but 99% of the projects I've 
worked on aren't things that will be used within the same database as other 
systems, so this isn't needed (again, KISS?)

>>> use a separate template engine

KISS, man. Yes templating engines are good to have, but the need for one should 
be determined upon the scale of the project. Also, most good frameworks have 
this built in, so why would I use a separate engine from what's already there?

>>> don't take a look at established php frameworks for inspiration, most of 
>>> them have advanced web dev concepts and good code

Again, not specific to PHP. Any project in any language could benefit from 
using a good framework.

-------

Sounds to me like he's been burned by a few script kiddies doing rush jobs. But 
then again, that's a BENEFIT of PHP -- ease of use, rapid development and cheap 
labor. From a short term PM stand point, these are all great.


Beau





-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nathan Lane
Sent: Tuesday, May 13, 2008 11:20 PM
To: UPHPU General Discussion
Subject: [UPHPU] Is OOP really bad in PHP?

This site, http://reinholdweber.com/?p=19, seems to say that OOP is bad in
PHP - like #26 and #27 give me this impression. Is that really true? If so,
then why is PHP 5 even more heavily OOP-based than previous versions?

-- 
Nathan Lane
Home, http://www.nathandelane.com
Blog, http://nathandelane.blogspot.com

_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

No virus found in this incoming message.
Checked by AVG. 
Version: 7.5.524 / Virus Database: 269.23.16/1432 - Release Date: 5/14/2008 
7:49 AM


No virus found in this outgoing message.
Checked by AVG. 
Version: 7.5.524 / Virus Database: 269.23.16/1432 - Release Date: 5/14/2008 
7:49 AM
 



_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to