我试图了解PHPstorm的意外行为。我有两个没有任何包含或必需定义的文件。
// file1.php
<?php
$var = new class1();
// file2.php
<?php
class class1 { }
我希望file1中的class1未定义,因为不包含file2。但是phpstorm没有显示任何警告。 CTRL-B跳转到file2中的声明。未选中“忽略包含和要求语句”选项。有人可以向我解释一下吗?
答案 0 :(得分:2)
phpstorm并不了解您的上下文。一些其他文件可能会一个接一个地要求这些文件,所以一切都会正常工作。还有一个很好的机会,你正在使用autoloader / composer(谁没有?),这将解决这个问题。
所以,我认为他们不会认为这是一个错误,因为他们无法正确过滤假阳性,如果他们启用了这样的警告
答案 1 :(得分:0)
这很可能是PHPStorm本身的一个错误,因为PHP会抛出异常。
Fatal error: Class 'class1' not found in /srv/www/htdocs/swaggityswoogityswoo/f1.php on line 5 Call Stack: 0.0003 629360 1. {main}() /srv/www/htdocs/swaggityswoogityswoo/f1.php:0
自从我升级到最新版本后,它似乎表现得很奇怪。例如,当我尝试合并一个文件,其中部署的文件和本地文件都包含&#39; text-align:left&#39;时,他想将其合并到&#39; text-align:center&#39; ;
等到他们发布另一个版本,也许他们能够解决这个问题。