I just read through the manual on the much anticipated Zend Framework and for the most part, I really like the implementation. It is a collection of a number of classes I already use from around the net, which is fine by me. True, PHP is in dire need of a good framework that everyone can standardize on. Right? Yeah, well, I think so, but I’m not really sure… Isn’t that what Pear is? (as a friend reminded me this morning).
My major problem is their stupid coding standards; I honestly hardly agree with a single one of them… it actually makes me angry. Here are a few that I read through until I got so mad I just closed the damn manual website and did something else (wrote this angry blog post).
Use an indent of 4 spaces, with no tabs.
I despise spaces in code… why hit the space bar 4 times when you could hit tab 1 time? So what, you have different editors with different default tab stops… who cares, it’s a preference. I refuse to use spaces.
B.2.3. Maximum Line Length
The target line length is 80 characters, i.e. developers should aim keep code as close to the 80-column boundary as is practical. However, longer lines are acceptable. The maximum length of any line of PHP code is 120 characters.
No way, not in a million years. I like long lines… sure, I may have to scroll horizontally to see some code, but it is a hell of a lot simpler to read if you’re looking at the whole file or a large chunk of code.
Files that are containers for single classes are derived from the class names (see above) in the format “ZClassName.php”.
Whatever… this is silly. Have they ever used an FTP client before? Some clients by default change filenames to lowercase when the upload files… like they should be. As far as I’m concerned filenames on the net should be a-z 0-9 – _ . period. If everything is in lowercase you never have to worry about case-sensitive operating systems.
Variable names may only contain alphanumeric characters. Underscores are not permitted. Numbers are permitted in variable names but are discouraged.
Whatever… again, I use $variable_name and refuse to use $variableName… If you have the words “some string” does it make more sense to say someString or does it look more accurate to say some_string. My opinion is the later. camelCaps is ugly in PHP code. I agree with their definition of Constants, but it leads to the question of… if underscores are permitted in constants, why not in variable names? If the answer is to clearly separate the two, then why shouldn’t variable names be all lowercase and constants be all upper case.
B.4.2.4. String Concatenation
Strings may be concatenated using the “.” operator. A space must always be added before and after the “.” operator to improve readability.
$whatever = “that is “.$tupid;
I just give up… I refuse to conform to that less-efficient “standard”. My own personal “standard” is almost the exact opposite of this Zend outline and in my opinion it is much nicer to read through and work from. I’m actually a Graphic Designer turned developer… my whole education and philosophy revolve around making things look good and stay functional… I personally think I’m qualified enough to say those standards stink.