#48278 [Bgs]: $ variable prefix is unneeded in most cases

From: Date: Thu, 14 May 2009 22:06:05 +0000
Subject: #48278 [Bgs]: $ variable prefix is unneeded in most cases
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-137343@lists.php.net to get a copy of this message
ID: 48278 Updated by: rasmus@php.net Reported By: zyss at mail dot zp dot ua Status: Bogus Bug Type: Feature/Change Request Operating System: Irrelevant PHP Version: 5.2.9 New Comment: Minimizing keystrokes never has and never will be a priority. Previous Comments: ------------------------------------------------------------------------ [2009-05-14 22:01:10] zyss at mail dot zp dot ua It is a matter of programmer's personal attentiveness. In your example there is a mix of using $ and not using it. Most developers will not do it. Besides in other languages this theoretical problem is even not discussed. For example, as you know in C/C++ there is a de facto standard of using CAPITAL LETTERS for constants which is enough to distinguish them from variables. Many PHP developers follow this concept. From the other side if one wanted to calculate how many key strokes will it save to allow not to use $ prefix in a PHP project with 100000 lines of code - this number would be huge. No one will argue that PHP is derived from C. It is evident that C language itself was created to minimize typing (as one of its primary goals, comparing to academic Pascal is enough to see this). So why not to follow the original path - to avoid unneeded typing while leaving a possibility to use $ for compatibility and in some special cases? The same arguments can be applied to { } arrays and "in" operator. ------------------------------------------------------------------------ [2009-05-14 19:59:52] rasmus@php.net There are also edge cases like $a['foo'] = 1; $foo = 2; echo $a[foo]; That would behave differently with optional $'s And I like the obvious separation between constants and variables. It avoids side-effects if someone somewhere suddenly creates a constant that then goes and changes behaviour all over the place because of this constants-over-variables approach. ------------------------------------------------------------------------ [2009-05-14 19:43:25] zyss at mail dot zp dot ua It will not break stuff if defined constants will have higher priority. In such case developer can just leave $ prefix. It would be really great if PHP developers have an option to choose whether to use the prefix or not. Eventually all new code will be written without $ and there will be no conflicts. ------------------------------------------------------------------------ [2009-05-14 18:24:04] rasmus@php.net And it will most definitely break stuff since removing the $ would clash with any defined constants. ------------------------------------------------------------------------ [2009-05-14 11:07:12] scottmac@php.net Fork away, it is open source after all. ------------------------------------------------------------------------ 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 http://bugs.php.net/48278 -- Edit this bug report at http://bugs.php.net/?id=48278&edit=1

« previous php.bugs (#137343) next »