我在工作中主要使用 Dreamweaver CS6 进行 PHP 编程。Dreamweaver 提供的代码提示/代码完成功能在我们的工作流程中通常非常有价值,尤其是当代码由一个人编写并由另一个人使用时。当然,代码提示在 PHP 中并非微不足道。该语言的松散类型性质意味着在编写代码时,并不是每个变量的类型都能被 Dreamweaver 知道。我们已经设法通过确保我们保持清晰的函数参数类型提示链来解决这个重要的限制,从而导致我们关心的变量。但是,我们遇到了一个非常奇怪的 Dreamweaver 失败的案例,我希望有人能够解释为什么会发生这种情况,以及理想的解决方法。
在某些情况下,当涉及的变量之一包含大写字母时,Dreamweaver 无法进行代码提示。一个例子:
class MyClass {
public $var;
}
function foo(MyClass $foo) {
return $foo;
}
$bar = foo($foo);
$foo = $bar;
$foo->var; //Code hinting works here
$fooBar = foo($foo);
$barFoo = $fooBar;
$barFoo->var; //Code hinting fails here
有谁知道为什么会发生这种情况,或者除了仅使用小写变量名之外是否还有其他方法可以修复它?请注意,即使示例是在不同的文件中创建的,或者以不同的顺序完成的,也会出现这些问题,并且按 Ctrl+Space 仍然不会显示代码完成下拉菜单。如果重要的话,我们会为包含我们大部分库代码的目录启用特定于站点的代码提示。我们没有使用任何主要的 PHP 框架。