创建一个Bug扬声器
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
创建一个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的最好通过分叉Symfony标准版。这样做:
- 去https://github.com/ob娱乐下载symfony/symfony-standard,然后点击叉按钮叉的库或去你already-forked副本。
- 克隆分叉的存储库为你的电脑:
git克隆git: / /github.com/YOUR-GITHUB-USERNAME/symob娱乐下载fony-standard.git
- 浏览(例如项目并创建一个新的分支。
issue_23567
,reproduce_23657
等)。 - 添加和提交Symfony所产生的变化。ob娱乐下载
- 现在你必须添加重现这个bug的代码的最小数量。这是最棘手的部分解释更多。
- 添加、提交和推动所有你自己的变化。
- 原来的问题报告中添加一个评论分享你的项目(如的URL。
https://github.com/YOUR-GITHUB-USERNAME/ob娱乐下载symfony-standard/tree/issue_23567
),如果有必要,解释的步骤(如繁殖。“浏览这个URL”、“填写这个数据形式和提交”,等等)。
添加代码的最小数量
创建一个bug扬声器的关键是专注于功能,你怀疑是失败。例如,假设你怀疑错误路线有关的定义。之后,分叉Symfony标准版:ob娱乐下载
- 不要编辑任何默认的Symfony的配置选项。ob娱乐下载
- 不要复制原始应用程序代码,不要使用相同的包结构,控制器,操作等原始应用程序。
- 打开的默认控制器类AppBundle并添加你的路由定义使用注释。
- 不创建或修改其他文件。
- 执行
服务器:运行
命令和浏览前面定义的路线是否错误出现。 - 如果你能看到虫子,你已经做完了,你可以与我们分享代码。
- 如果你不能看到错误,你必须坚持做一些小的改变。例如,如果您的原始路线定义使用XML,忘记前面的路线注释,使用XML定义的路线。或者你的应用程序使用包继承,那才是真正的错误。然后忘记AppBundle,快速生成一个新的AppParentBundle,从中AppBundle继承和测试如果路线工作。
简而言之,这个想法是为了使添加小和增量更改默认Symfony标准版,直到你能重现错误。ob娱乐下载
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。