Symfony 框架实战教程——第六天#Alt:验证码

Symfony 框架实战教程——第六天#Alt:验证码

Chris Yue 8 comments
Posts

如果读者是从表世界过来的,应该知道怎么通过重载模板来改变第三方 Bundle 提供的模板。这里将重载用户登录页面作为作业留给大家,只介绍重载注册页面。不过为了提供新鲜的知识点,我们这次除了要装修注册页面以外,还要求给注册页面提供验证码。

对于我这种收集 bundle 的高手,自然少不了推荐验证码相关的 bundle:GregwarCaptchaBundle

一如既往安装 Bundle

一如既往注册Bundle

好了,准备工作结束。

重载 FOSUserBundle的RegistrationFormType

FOSUserBundle 支持使用其他的注册表单。只需要简单配置一下即可

不过目前 type 里指定的 app_reg 我们还没实现,接下来我们应该创建这个 form_type。如果啃过官方文档,应该知道定义一个 form_type 需要先定义一个 FormType 类,然后再定义为服务,并且服务的 alias 一定要和 form 的 getName 方法返回的内容一致。

先定义类:

然后是服务:

让我们访问 /register 页面,已经可以看到一个带验证码的表单字段,虽然整个表单丑到没朋友……

按照表世界说的方法找到应该重载的模板

未完待续……

这篇教程自 4月9日 创建之后,我就一直想把此系列尽快终结掉,为大家献上一个完美的结局,但是并不知道以什么方式去完成,不知道我们的小项目要添加什么样的功能。最近工作也忙,加班是常态,也就一直拖着,但有些事情如果让他一直拖着,可能就真不了了之,还不如畅快一点。

今天我想怎么着此系列也应该有个说法了,我的打算是强行结束掉此教程,但关于 Symfony 的探索分享还是会继续。如果大家意犹未尽,可以继续关注我发表在 Posts 或者教程里的其他帖子。此教程是写给刚学习 Symfony 的同学入门用的,如果都看完,应该知道 Symfony 的大概用法了。后面我将写一些独立的文章,来将 Symfony 提供的各种开发解决方案介绍给大家。

谢谢

~~ The End ~~

Symfony 框架实战教程——第六天#Alt:验证码 by Chris Yue is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

微信赞赏码

文章不错,我要帮站长分担建站费!
天使投赏人

8 Comments

EZ

八月 18, 2017 在 4:14 下午

老师,有时间是否还会更新symfony实战教程系列,, 还有评论下的验证码是什么扩展实现的?

    Chris Yue

    八月 18, 2017 在 6:08 下午

    当然会,Symfony 要有大动作了,敬请期待。

    验证码插件叫 Captcha by BestWebSoft

     

菜菜鸟

三月 12, 2017 在 5:46 下午

老师您好,我在使用指令composer require gregwar/captcha-bundle安装的时候会报错,请老师看看。

 

 

    Chris Yue

    三月 13, 2017 在 3:45 下午

    您是用的什么版本?我刚基于 Symfony 3.2.6 版本是可以成功安装上 captcha-bundle 最新版本 2.0.3 的。

    我看你的报错信息其实跟安装 captcha-bundle 应该没什么关系,你的报错信息是说可能有其他服务需要依赖 twig.form.resources 服务,但你当前环境并没有这个服务。我建议你重新安装一个新的 Symfony 环境,然后只安装 captcha-bundle,就只尝试使用这个组件的功能,排除其他组件的影响。

     

donow

十二月 9, 2015 在 9:40 下午

很好的教程,学习了,thanks

孤独患者

十二月 2, 2015 在 5:42 下午

照着教程来的结果访问/register页面报错
Could not load type “app_reg”
500 Internal Server Error – InvalidArgumentException

请教这是问题出在哪里

    Chris Yue

    十二月 7, 2015 在 8:47 下午

    看样子是symfony并不知道app_reg是个什么表单,检查一下是不是有typo

     

ccna30

四月 14, 2015 在 2:57 下午

看来这个Bundle相对简单啊,期待后续。

发表评论

+ 67 = 76