On Oct 17, 2008, at 3:53 AM, Nathan Rixham wrote:
*A Simpler Solution*
Force userland / general naming conventions in PHP.
# namespaces are always lowercase
# functions are always lowercase
# classes are always CamelCaps with initial uppercase letter enforced
//this is always the function two in namespace one::step
//this is always the method two of class step in namespace one
thoughts, opinions, reasons why it wouldn't work?
Assuming this is a real question:
1. PHP is heading towards broad i18n. How do you "uppercase" or
"lowercase" written languages that don't have a concept of case?
2. PHP was designed for wide adoption, and the authors of libraries
often used function and class cases that matched their library. So,
PHP case smashes, to Handle the problem of pg_pconnect (all smashed),
PG_pConnect (EXTENSION_argumentAction), Pg_Pconnect (first letter
ucase), etc. etc. etc.
Right now this all works. Changing it would break, well, darned near
3. The vast majority of user operating systems (and filesystems) out
there do *NOT*, I repeat, do *NOT* all handle case in the same way, a
sane way. Windows boxes are still lugging around DOS/VMS legacy with
UPPERCAS.$1 files, Macs have their own breed of jollies as well, and
anything that autoloads (such as namespace code) needs to handle all
Assuming that this is "A Modest Proposal":
1. It needs to be more over the top to be funny to a broad, multi-
lingual, global, audience.
For example, you might have suggested that we add an include_instead
() operator, so somebody who wants to use a function/method which is
located in '/var/location1/file_class.inc', rather than the already
loaded function/method in '/var/location2/file_functions.inc', can
override an existing function/method, and for giggles, you might
suggest that the operator have the power to override all internal
functions, but just for local execution scope, spawning a new process/
thread for each invocation, so a blog post can have 30-80 thousand
processes with different scopes.... to render a web page.
Okay, I'm shutting up now. :)