新在Symfoob娱乐下载ny 2.8: DX的改进
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
DX或开发人员的经验必不可少的Symfony项目ob娱乐下载。我们努力工作以改善DX每个Symfony中释放和最近的Symfony 2.8版本ob娱乐下载也不例外。
安全甚至允许检查页面不受防火墙
提供的
格雷戈勒Pineau在# 15953。
在Symfonob娱乐下载y 2.8之前,当一个页面不是由一个安全防火墙,你不能使用is_granted ()
助手,因为它导致了一个例外。因此,它是使用以下常见如果app.user
检查:
1 2 3
{%如果app.user和is_granted (ROLE_ADMIN) %}…{%endif%}
在Syob娱乐下载mfony 2.8这个额外的检查不再是必要的,使用时不将抛出异常is_granted ()
助手在任何页面:
1 2 3
{%如果is_granted (ROLE_ADMIN) %}…{%endif%}
添加新方法BrowserKit的客户机
BrowserKit的客户机中使用功能测试允许禁用和/或限制重定向的数量。这两个新方法添加到客户端允许您检查这个值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
使用ob娱乐下载\包\FrameworkBundle\测试\WebTestCase;类somet扩展WebTestCase{公共函数testSomething(){美元客户端=静态::createClient ();/ /……如果(美元客户端- >isFollowingRedirects ()) {/ /……}如果(美元客户端- >getMaxRedirects () <3){/ /……}}}
轻松自定义身份验证错误
目前,显示一个自定义的身份验证错误消息,您需要创建一个新的子类AuthenticationException
。在Syob娱乐下载mfony 2.8中,您只需要使用这些新方法:
1 2 3 4 5 6 7 8 9
扔新CustomUserMessageAuthenticationException (“这是一个荒谬的用户名”);/ /做同样的的另一种方式美元e=新CustomAuthenticationException ();美元e- >setSafeMessage (“这是一个荒谬的用户名”);扔美元e;
的方法被称为“安全”,因为他们是显示给最终用户,所以他们不包含敏感信息,他们可以安全地曝光。
显示优先级在调试时的事件
提供的
乔迪Boggiano在# 14563。
在Symfonob娱乐下载y 2.8之前,输出的调试:事件分配器
命令不包括听众的最重要的一个信息:他们的优先级。在Syob娱乐下载mfony 2.8这个信息已经添加的命令和网络分析器面板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日
美元调试php应用程序/控制台:事件分配器“kernel.request”事件- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -可赎回优先顺序- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1ob娱乐下载 Symfony \ HttpKernel \ EventListener \ \组件DebugHandlersListener::配置(2048年)# 2ob娱乐下载 Symfony \ HttpKernel \ EventListener \ \组件ProfilerListener:: onKernelRequest(1024年)# 3ob娱乐下载 Symfony组件\ \ HttpKernel \ EventListener \ DumpListener::配置(1024年)# 4ob娱乐下载 Symfony \包\ FrameworkBundle \ EventListener \ SessionListener:: onKernelRequest(128年)# 5ob娱乐下载 Symfony组件\ \ HttpKernel \ EventListener \ FragmentListener:: onKernelRequest () 48# 6ob娱乐下载 Symfony \ HttpKernel \ EventListener \ \组件RouterListener:: onKernelRequest () 32# 7ob娱乐下载 Symfony组件\ \ HttpKernel \ EventListener \ LocaleListener:: onKernelRequest () 16# 8ob娱乐下载 Symfony组件\ \ HttpKernel \ EventListener \ TranslatorListener:: onKernelRequest () 10# 9ob娱乐下载 Symfony组件\ \安全\ Http \防火墙::onKernelRequest () 8# 10 AppBundle \ EventListener \ RedirectToPreferredLocaleListener: onKernelRequest () 0# 11ob娱乐下载 Symfony \包\ AsseticBundle \ EventListener \ RequestListener:: onKernelRequest () 0# 12 Knp \包\ PaginatorBundle \订户\ SlidingPaginationSubscriber:: onKernelRequest () 0- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#……
添加了一个Stream-Aware版本的PHP tempnam ()
现在包括一个新的文件系统组件tempnam ()
方法允许创建临时文件在任何PHP支持流,即使在自定义流:
1 2 3 4 5 6
美元临时文件=美元fs- >tempnam (“ftp://example.com/tmp”,“……”);美元临时文件=美元fs- >tempnam (“compress.zlib: / /以”,“……”);/ /使用自定义流stream_wrapper_register (“模拟”,“ob娱乐下载Symfony \ \文件系统组件\ \测试fixture \ MockStream \ MockStream”);美元临时文件=美元fs- >tempnam (“模拟:/ /文件”,“……”);
递归目录加载配置和路由
提供的
尼古拉斯Grekas,赛拉瓦在# 14700。
配置文件现在可以导入所有的文件中包含一个给定目录,即使他们使用不同的格式(YAML、PHP、XML等),而不是单独进口每个文件:
1 2 3 4 5 6 7 8 9
#在Symfonyob娱乐下载 2.8之前进口:- - - - - -{资源:acme / parameters.yml}- - - - - -{资源:acme / security.yml}- - - - - -{资源:acme / services.yml}#在Symob娱乐下载fony 2.8进口:- - - - - -{资源:acme /}
现在同样的行为可能在导入多亏了新路线目录
资源类型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#在Symfonyob娱乐下载 2.8之前_blog_public:资源:“路由/博客/ public.yml”_blog_private:资源:“路由/博客/ private.yml”#在Symob娱乐下载fony 2.8#隐式:目录名称的末尾添加一个斜杠_blog:资源:“路由/博客/”#明确:将类型设置为“目录”_blog:资源:“路由/博客”类型:目录
评论
非常感谢所有这些技巧!
https://github.com/nicolas-grekas/ob娱乐下载symfony/blob/master/src/Symfony/Component/DependencyInjection/Loader/DirectoryLoader.php L54
有一个地方收集这些小技巧吗?
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now虽然这可能是一个无耻的自我提升,您还可以检查这些演讲关于“Symfony提示和技巧”:2014年版(http://www.slideshare.net/javier.eguiluz/symfony-tob娱乐下载ips-and-tricks) 2015年版(http://www.slideshare.net/javier.eguiluz/new - Symfony提示,技巧symfonycon -巴黎- 2015)。