创建一个Bug扬声器

编辑该页面

创建一个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. 创建一个新项目:
1
美元bug_app作曲家创建项目/ symfony框ob娱乐下载架
  1. 添加和提交Symfony所产生的变化。ob娱乐下载
  2. 现在你必须添加重现这个bug的代码的最小数量。这是最棘手的部分解释更多。
  3. 添加和提交您的更改。
  4. 创建一个新的存储库在GitHub(给它任何名称)。
  5. 按照说明在GitHub添加起源远程到本地项目,推动它。
  6. 原来的问题报告中添加一个评论分享你的项目(如的URL。https://github.com/YOUR-GITHUB-USERNAME/ob娱乐下载symfony_issue_23567),如果有必要,解释的步骤(如繁殖。“浏览这个URL”、“填写这个数据形式和提交”,等等)。

添加代码的最小数量

创建一个bug扬声器的关键是专注于功能,你怀疑是失败。例如,假设你怀疑错误路线有关的定义。然后,在创建您的项目:

  1. 不要编辑任何默认的Symfony的配置选项。ob娱乐下载
  2. 不要复制原始应用程序代码,不要使用相同的控制器结构,行为等原始应用程序。
  3. 创建一个小的控制器和添加你的路由定义显示错误。
  4. 不创建或修改其他文件。
  5. 安装本地web服务器Symfony提供和使用ob娱乐下载ob娱乐下载symfony服务器:启动命令浏览新路线,看是否出现错误。
  6. 如果你能看到虫子,你已经做完了,你可以与我们分享代码。
  7. 如果你不能看到错误,你必须坚持做一些小的改变。例如,如果您的原始路线定义使用XML,忘记前面的路线,转而使用XML定义的路线。或者您的应用程序注册一些事件侦听器,那才是真正的错误。在这种情况下,添加一个事件监听器,类似于你的真实应用程序,看看你可以找到bug。

简而言之,这个想法是为了使添加小和增量更改一个新的项目,直到你可以复制错误。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
ob娱乐下载Symfony 6.0支持通过SensioLabs