Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

What is wrong with PHP?

Name: Anonymous 2007-08-19 22:57 ID:my26XLFz

For web development? You faggots bash PHP all the time. Is it because it's popular it's 'cool' not to like it?

Name: Anonymous 2007-08-20 4:59 ID:xB93OUZg

PHP originally inserted data received over the network directly into the global namespace, leading to confusion between trusted and untrusted data, and unnecessary potential for security holes in PHP applications. This behavior was turned off by default from version 4.2.0 released in April 2002. However, this feature is still being used by some legacy applications

Name: Anonymous 2007-08-20 5:00 ID:xB93OUZg

PHP has traditionally used features such as "magic_quotes_gpc" and "magic_quotes_runtime" which attempt to escape apostrophes (') and quotes (") in strings in the assumption that they will be used in databases, to prevent SQL injection attacks. This leads to confusion over which data is escaped and which is not, and to problems when data is not in fact used as input to a database.

Name: Anonymous 2007-08-20 5:00 ID:xB93OUZg

PHP does not have complete native support for Unicode or multibyte strings.

Name: Anonymous 2007-08-20 5:00 ID:xB93OUZg

PHP does not enforce the declaration of variables prior to their use, and variables which have not been initialized can have operations (such as concatenation) performed on them; an operation on an uninitialized variable raises an E_NOTICE level error, but this is hidden by default.

Name: Anonymous 2007-08-20 5:00 ID:xB93OUZg

PHP has no namespace support, which leads to a very large amount of globally available functions that can easily number into the thousands.

Name: Anonymous 2007-08-20 5:01 ID:xB93OUZg

PHP's dynamic type conversion could potentially cause problems. Variable types in PHP, although they exist, are transparent to the programmer. Some may consider this a feature, as a variable can change from a number to a string and back again without extra lines of code. However, variable type errors are not detected at compile-time, and the dynamic-typing behavior lacks full predictability.

Name: Anonymous 2007-08-20 5:01 ID:xB93OUZg

The standard function library lacks internal consistency. Many functions perform relatively similar actions and have different name standards and argument orders. For example:

* Argument consistency: strpos($haystack, $needle) vs. in_array($needle, $haystack)
* Naming convention: both of these work case-insensitively strcasecmp() vs. stristr() but the former indicates this with "case" while the later does with "i"
* Function name consistency: strpos() vs. str_replace()

Name: Anonymous 2007-08-20 5:01 ID:xB93OUZg

Functions are not first-class objects. This requires referencing functions by strings and object methods as a two-element array of the object and method name as a string. Consequently, anonymous functions are also referenced by string.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List