创建一个Bug扬声器
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.3,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
创建一个Bug扬声器
主要的Symfonob娱乐下载y代码存储库接收报告每年成千上万的问题。其中一些问题很容易理解和Symfony的核心开发人员可以修复它们没有任何其他信息。ob娱乐下载然而,其他问题都是难以理解的,因为开发人员不能复制他们的电脑。当我们问你创建一个扬声器的“故障”,这是所需的最少的代码错误出现时执行。
繁殖简单的错误
如果你报告一个缺陷相关的一些Symfony组件之外使用Symfony框架,这足以共享一ob娱乐下载个小型PHP脚本执行时显示错误:
1 2 3 4 5 6 7 8 9 10 11 12 13
/ /首先,运行“作曲家要求symfony /验证器”ob娱乐下载/ /然后,执行这个文件:< ? phprequire_once__DIR__。“/供应商/ autoload.php”;使用ob娱乐下载\组件\验证器\约束;美元wrongUrl=”http://example.com/exploit.html? <脚本>警报(1),> < /脚本的;美元urlValidator=新约束\ UrlValidator ();美元urlConstraint=新约束\ Url ();/ / URL是错误的,所以var_dump()应该显示一个错误,但它显示/ /“零”而不是因为没有上下文建立验证器违反var_dump (美元urlValidator- >validate (美元wrongUrl,美元urlConstraint));
复制复杂的错误
如果错误相关的Symfony框架或如果太复杂,创建一个PHob娱乐下载P脚本,重现这个bug的最好通过创建一个新项目。这样做:
- 创建一个新项目:
1
美元bug_app作曲家创建项目/ symfony框ob娱乐下载架
- 添加和提交Symfony所产生的变化。ob娱乐下载
- 现在你必须添加重现这个bug的代码的最小数量。这是最棘手的部分解释更多。
- 添加和提交您的更改。
- 创建一个新的存储库在GitHub(给它任何名称)。
- 按照说明在GitHub添加
起源
远程到本地项目,推动它。 - 原来的问题报告中添加一个评论分享你的项目(如的URL。
https://github.com/YOUR-GITHUB-USERNAME/ob娱乐下载symfony_issue_23567
),如果有必要,解释的步骤(如繁殖。“浏览这个URL”、“填写这个数据形式和提交”,等等)。
添加代码的最小数量
创建一个bug扬声器的关键是专注于功能,你怀疑是失败。例如,假设你怀疑错误路线有关的定义。然后,在创建您的项目:
- 不要编辑任何默认的Symfony的配置选项。ob娱乐下载
- 不要复制原始应用程序代码,不要使用相同的控制器结构,行为等原始应用程序。
- 创建一个小的控制器和添加你的路由定义显示错误。
- 不创建或修改其他文件。
- 执行
作曲家需要symfony / weob娱乐下载b-server-bundle
并使用服务器:运行
命令浏览新路线,看是否出现错误。 - 如果你能看到虫子,你已经做完了,你可以与我们分享代码。
- 如果你不能看到错误,你必须坚持做一些小的改变。例如,如果您的原始路线定义使用XML,忘记前面的路线,转而使用XML定义的路线。或者您的应用程序注册一些事件侦听器,那才是真正的错误。在这种情况下,添加一个事件监听器,类似于你的真实应用程序,看看你可以找到bug。
简而言之,这个想法是为了使添加小和增量更改一个新的项目,直到你可以复制错误。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。