问题标签 [phpstorm-2018.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 绑定到 Laravel IoC 而不是一次又一次地实例化
在我的应用程序中,我有一个名为“LogService”的服务来记录事件和其他项目。我基本上需要在每个控制器上使用它来记录用户的事件。不必在每个控制器中实例化这个服务,我有两个想法来完成这个。
选项 1:将服务绑定到 IoC,然后以这种方式解析它
选项 2:创建一个包含服务的主类,然后为其他类扩展它,以便它们与已经绑定的服务一起提供
我对这些方法中的每一种都有疑问:
选项1:这甚至可能吗?如果是这样,它会被称为“App::make()”吗?这种方式似乎不太适合IDE
选项 2:我过去做过这种事情,但 PHPStorm 似乎无法识别来自父对象的服务,因为它是由“App::make()”实例化的,而不是通过常规依赖注入。
最好的行动方案是什么?
谢谢!
phpstorm - PhpStorm 用于异常和其他的核心语言错误
在设置中定义 5.6 中的 PHP 版本时出现错误。
PhpStorm,在 2018.1.6 版本中,将 Core 与 PHP 7 一起使用,并在逻辑上使用 PHP 7 实现。例如,对于 extends Exception,PhpStorm 创建一个带有第三个参数的构造函数,它的实例为Throwable
.
非常有问题,你有解决这个问题的想法吗?
按照答案,为了重现,请按照以下步骤操作:
- 使用 PHPStorm 2018.1.6
- 创建一个 TestException 扩展 \Exception
- 创建具有自动完成功能的构造函数
PHPStorm 扩展了 PHP 7 版本的 \Exception 而不是 PHP 5.6 版本的 Exception,PHP 7 版本集成了以前异常但不是 PHP 5.6 版本的 Throwable 接口。
使用自动完成功能创建构造函数:
构造函数为前面的异常实现了可抛出接口:
phpstorm - MantisBT 和 PhpStorm 的问题
我很高兴地一起使用了 PhpStorm 和 MantisBT 几个月,但现在我遇到了一个奇怪的问题。
尝试建立与我的螳螂实例(自托管)的连接,我收到错误消息:
请求失败。原因:org.xml.sax.SAXParseException;行号:1;列号:1;序言中不能有内容。
虽然我了解此错误消息的含义,但我不知道为什么会发生,也无法控制从 Mantis 得到的响应。
我在 PhpStorm 文档、谷歌和 Mantis 错误跟踪器本身都没有找到答案。
所以我想在这里碰碰运气。有没有其他人遇到过这种情况或可以提供一些建议?
autocomplete - PhpStorm 将“null”自动完成为“null()”。我可以修改自动完成列表吗?
问题
当我键入null
并使用任何形式的代码完成时Ctrl-Shift-Return
,例如,它会从自动完成下拉列表中选择最顶层的选项,但最顶层的选项永远不是我想要的。
例子:
问题
是否可以“否决”一个选项以将其排名较低?或者以任何其他方式修改自动完成器中选项的优先级?
额外信息
该null()
功能来自这个项目,通过作曲家安装。
这个问题已经持续了很长一段时间,并且在几次版本升级中幸存下来。当前版本信息:
我已经手动选择了第二个选项 plain null
,很多次都不会影响此列表的优先级,因此它肯定没有学习方面的内容。
PS:该标签PhpStorm-2019.1
尚不存在,我没有创建它所需的声誉。我添加了 2018.1 标签,因为从那个版本开始就存在问题。
phpstorm - 在 PhpStorm 中按下 Enter 按钮后缩进
我已经使用 PhpStorm 很长时间了,之前没有遇到过这个问题。问题是,当我键入一些 pare 标记时,例如<div></div>
(从行首有缩进)并且光标位于该标记的中间,并且在我按下 Enter 按钮后,结束标记只是转到开头线。
有趣的事实是.php
文件中的一切都很好。只有.html
扩展的问题。我只是不知道我能做些什么来让 IDE 像这样。
我已经检查了Preferences -> Code style -> HTML.
Everything 中的所有调整与 PHP 中的相同(并且我按下了“恢复默认值”按钮)。
它是这样工作的(按下 Enter 按钮后):
我希望它是这样的: