Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names

From: Date: Sat, 05 May 2012 15:33:55 +0000
Subject: Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-170229@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=18556&edit=1

 ID:                 18556
 Comment by:         wim at powerassist dot nl
 Reported by:        spud at nothingness dot org
 Summary:            Setting locale to 'tr_TR' lowercases class names
 Status:             Assigned
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   Linux (RedHat 7.2)
 PHP Version:        5CVS, 4CVS (2005-10-04)
 Assigned To:        dmitry
 Block user comment: N
 Private report:     N

 New Comment:

Sorry, I was to quick to comment. I see that there's an internal mailing going on.


Previous Comments:
------------------------------------------------------------------------
[2012-05-04 19:10:58] wim at powerassist dot nl

Why is this bug still not fixed? Not only class names are affected but function names aswell:

<?php
setlocale(LC_ALL, 'tr_TR.UTF-8');

class InfoBlob {
	
	public static function Intresting() {
		return 'is it not?';
	}
}

echo (infoBlob::intresting()); // works lowercase i function and class.
echo (infoBlob::Intresting()); // fails uppercase i function
echo (InfoBlob::intresting()); // fails uppercase i class 
?>

------------------------------------------------------------------------
[2011-12-07 20:13:24] cankoy at ymail dot com

> This will probably break a lot of existing PHP Code.
Existing code is already broken for those suffering from this problem, don't you get it? 
I'm not suggesting a permanent turn-off, I'm suggesting a command-line option/a php.ini
directive/whatever fits the design of Php engine to implement this as an option.

> Why not performing the lookup case-sensitive and if not found fall back to case-insensitive?
> And if found case-insensitive throw a deprecation warning.
You're suggesting more ceremony, where I suggest optionally skipping a ceremony. Php is an
interpreter, performance is important.

------------------------------------------------------------------------
[2011-12-07 20:01:07] gerd dot katzenbeisser at gmail dot com

This will probably break a lot of existing PHP Code. Why not performing the lookup 
case-sensitive and if not found fall back to case-insensitive? And if found case-
insensitive throw a deprecation warning.

------------------------------------------------------------------------
[2011-12-07 18:01:37] cankoy at ymail dot com

This, practically, can't be fixed. Mainly because there's no way to know if 'I'
is uppercase of 'i' or 'ı' since there's not a separate place for
Turkish 'I' in code tables. The same holds for 'i' (can't be known if
it's lowercase of 'I' or 'İ').
I told 2 years ago and will say it again: PHP should provide a way to turn off case-insensitive
function/class name lookup. No good programmer uses this Basic language feature since identifiers
are case-sensitive in all real languages like Python, Ruby, C#, Java.

------------------------------------------------------------------------
[2011-12-03 22:08:24] sg at facelift-bbt dot com

This bug was first reported 9 years ago? This definetly got to be fixed. This is a total stopper. I
can reproduce it exactly it is shown below.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=18556


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=18556&edit=1


Thread (68 messages)

« previous php.bugs (#170229) next »