自动在PHP脚本中添加“$”字符

时间:2009-10-03 13:29:00

标签: php usability

我有一个编程文本编辑器(用PHP编写),想要在加载文档进行编辑时删除PHP脚本中可用的$符号......一旦用户保存文件,就“静静地”插入它们。基本上,我想为用户保存在变量前面总是输入$ icon的工作(类似于你不必使用Python的方式)。

我的问题:我可以使用哪些PHP代码将$符号插回到脚本中?

即使功能会在编码风格方面做出一些妥协和假设 - 即在边缘情况下不起作用 - 我认为这将非常有用。

编辑:正如我最初提到的,我在风格方面做出了妥协。这是一个示例语法,可能更容易“解析”并且仍然可以更好地编写IMO:

for (var i = 1; i <= 10; i++) { /* look ma, no $s! */ }

8 个答案:

答案 0 :(得分:25)

这是不可能的,因为它会使语法模糊不清。例如,你无法区分变量和定义的常量。

答案 1 :(得分:4)

我建议你不要添加这个“功能”。熟悉PHP的人会习惯性地输入“$”符号,无需这样做。另外,正如Lukas所说,$ sign有理由在那里......

答案 2 :(得分:4)

听起来不是一个好主意。

如前所述,语法将变得模棱两可。

你没有这么说,但你的文本编辑器可能不会进行语法高亮,即使你 将代码放入其中。

从变量名中删除$符号会使语法突出显示无法实现 - 这是编程文本编辑器的一个非常有价值的补充。

答案 3 :(得分:4)

你无法修复:

$blah = "hello";
"blah blah blah $blah blah";

不使用转义字符。所以你必须改写为:

$blah = "hello";
"blah blah blah " . $blah . " blah";

但这违背了php的感觉。这让我想起了使用C有问题的pascal程序员,并找到了以下解决方案:

#define BEGIN {
#define END }

故事的士气是接受一种语言。有足够的选择。

答案 4 :(得分:3)

它可能已经完成 - 完全有可能实现没有“$”符号的编程语言 - 我不相信“$”符号是为了消除歧义而首先实现的。 (例如,在区分变量,常量或某种函数时,可以使用解释语言中的特殊符号来加速解析。)

然而,这将是棘手的。你几乎必须对PHP和某种形式的查找表有非常深入的了解,以便弄清楚它是什么,即如果它在查找表中它是一个保留字,等等。你需要跟踪任何东西用户可能会误认为变量 - 您可能需要通过检查上下文来做。 IT将是一个庞大而复杂的项目。

因此,虽然我认为你可以做到(并保持语法突出显示 - 因为执行此操作所需的信息基本上是必需来实现此功能)所需的努力似乎远远超出了效益无需在变量前面键入简单的$符号。

答案 5 :(得分:3)

这是一个疯狂的想法,但这可以做到。如果你必须告诉编辑这些是变量。为此,您必须使用var i,variable_name让编辑器知道这些是变量。或评论中的内容。

答案 6 :(得分:0)

这将归结为你的IDE不是吗?你可以有一个脚本来运行它,一旦你完成编辑就会把$放回去。只是取决于你的IDE能力。

我真的不能确定这是一个很大的问题,是否难以添加一个角色?

答案 7 :(得分:0)

我认为这也是一个坏主意,用Python或Lua或其他语言编写代码可能更简单,如果没有这些$(我认为继承自Perl)。

除此之外,你需要一个完整的PHP词法分析器/解析器来使它几乎正确,我想你会得到很多很难解决的问题,比如字符串中的插值。