Twig中计算两个时间之间的天数

PHP5.3 DateTime对象有了diff()方法返回一个DateInterval对象,这个对象可以计算开始时间和结束时间的差值。
因为Twig的date函数总是返回一个DateTime对象所以可以调用diff方法。 read more »

Symfony获取上传文件

如果你随意性的在twig模板中,使用一个file input,并没有使用symfony的表单类型,那么你应该如何接收这个上传的文件呢?传统的方式是$_POST[‘you-file-input-name’]得到文件,然后再使用$_POST[‘you-file-input-name’][‘name’]来获取到文件名称。 read more »

如何在Twig模板中判断子对象是否存在

有时候,我们会有One-to-Many这样的数据库关系,这种关系根据项目的需要,会在模板中呈现出来,我们就要判断对象下的子对象是否存在,如果存在就会输出到Twig模板中。那么问题来了,我们在twig模板中该如何判断了,很简单: read more »

根据控制器的不同来给导航加亮

有时候,我们并不希望,我们在twig模板中的每个导航加亮的判断条件,都在控制器的action中输出,因为我们会浪费大量的时间和精力去写重复的代码。 read more »

PHPStorm破解

http://idea.lanyus.com/  有很详细的破解,但还是欢迎正版

以phpstorm 10.0.3 为例 read more »

SonataAdminBundle列表页视图

这个文档主要涉及list视图,在系统中你使用它来浏览对象。涉及到的配置主要是list页面自己和过滤器(你能够使用它来控制什么条件可见)。 read more »

symfony表单select递归显示

主要用到两个bundle就可以easy解决

https://github.com/stof/StofDoctrineExtensionsBundle

https://github.com/Yavin/symfony-form-tree

(Security)怎么样去自定义你的登录表单

在symfony认证中使用form login 认证是一种常见的、灵活的方法。几乎每一个方面表单登录都可以定制。下面介绍完整的默认配置。

 

表单登录配置的参考

要查看完整的form login配置,请参阅SecurityBundle Configuration (“security”)。其中一些有趣的配置选项如下。

 

成功后的重定向

你可以选择各种各样的配置去改变登录成功后的跳转页面。默认情况下页面跳转回用户请求的页面(这个页面就是触发登录表单的页面)例如用户请求http://www.example.com/admin/post/18/edit,最终成功登录,页面还会跳转回http://www.example.com/admin/post/18/edit。这些请求的URL都存储在session中。如果没有URL出现在session中(也许是用户直接去登陆页面),然后将用户重定向到默认页面,也就是默认的首页。你可以通过多种方式完成这种行为。

如前所述,默认情况下将用户重定向到最初的页面。有时,也可能导致问题,像:如果一个后台的ajax请求“appears”是上次访问的URL,那么用户会被重定向到那里,这是不对的。有关控制信息请参阅  How to Change the default Target Path Behavior.

 

改变默认页面

首先,这个默认页面能够被设置(也就是说,如果没有前一个页面被存储在session里,用户会被重定向到默认页面)。要将他设置为default_security_target 路由,请看以下配置:

现在,当session里没有URL时,用户将被定向到default_security_target路由。

 

始终重定向到默认页面

你可以不管页面如何请求,都把URL定向到默认页面,你需要设置always_use_default_target_path为true即可:

 

 

使用Referring URL

如果以前没有URL被储存在session,你不妨尝试使用HTTP_REFERER来代替,因为这往往是相同的。你可以设置use_referer为true来实现(它默认时false):

 

从表单内控制重定向的URL

你可以通过增加一个隐藏的_target_path字段来指定重定向。例如,使用以下方式,将重定向URL设置为account路由。

 

未完待续中。。。。。