我在一个有两种语言的网站上使用Symfony 2,我想根据用户的语言环境改变我的路由模式!
例:
user_login_en:
pattern: /en/user/login.html
defaults: { _controller: SfErrorsAppBundle:User:login, _locale: en }
user_login_fr:
pattern: /fr/utilisateur/connexion.html
defaults: { _controller: SfErrorsAppBundle:User:login, _locale: fr}
Run Code Online (Sandbox Code Playgroud)
在模板内部,这并不困难,我只需要将$ this-> get('session') - > getLocale()从控制器传递给模板......
为了工作,我必须打电话给我的路线:
$router->generate('user_login_'.$locale, array());
Run Code Online (Sandbox Code Playgroud)
但在我的布局中,我当然有一个菜单和侧边栏,它们有链接......所以我想得到locale变量来使用它!所以我的问题很简单:如何在"布局"模板中获取此变量?否则,您是否有任何想法根据语言更改模式?
原因是我想为所有用户提供优美的路线,无论是英语还是法语......还有SEO的原因!
我搜索了很长时间如何用PHP从动画GIF中提取帧...不幸的是我刚刚找到了如何获得它们的持续时间......
我真的需要提取GIF帧及其持续时间以在每个帧上应用一些调整大小,旋转等,然后使用编辑的帧重新生成GIF!
我不想使用任何软件,外部库(如ImageMagick),只需PHP:实际上我需要允许我的课程http://phpimageworkshop.com/使用动画GIF.
如果你有任何想法,我正在听你^^!
我有一个问题'与Symfony 2上传.我正在制作一个幻灯片管理器,我可以上传新的幻灯片(带有图像文件),但上传期间无法识别我的类"幻灯片"的属性$文件!
我遵循了本教程,我正在使用doctrine生命周期回调.
我的班级在这里:
<?php
namespace Sybio\AppBundle\Entity;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Translatable\Translatable;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints as DoctrineAssert;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\MinLength;
use Symfony\Component\HttpFoundation\File\UploadedFile;
/**
* @ORM\Entity(repositoryClass="Sybio\AppBundle\Entity\Repository\SlideshowRepository")
* @ORM\Table(name="slideshow")
* @ORM\HasLifecycleCallbacks
*/
class Slideshow implements Translatable
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @Assert\File(maxSize="1048576")
*/
protected $file;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
protected $path;
/**
* @Gedmo\Locale
*/ …Run Code Online (Sandbox Code Playgroud) 是否可以在ESI与Symfony 2中使用验证缓存?
如果查看HttpFoundation Response类,可以看到isNotModified的工作原理:
/**
* Determines if the Response validators (ETag, Last-Modified) match
* a conditional value specified in the Request.
*
* If the Response is not modified, it sets the status code to 304 and
* removes the actual content by calling the setNotModified() method.
*
* @param Request $request A Request instance
*
* @return Boolean true if the Response validators match the Request, false otherwise
*
* @api
*/
public function isNotModified(Request $request) …Run Code Online (Sandbox Code Playgroud) 这是我的问题:
@Assert\Regex(
* pattern="/^[A-Za-z0-9][A-Za-z0-9\"]*$/",
* groups={"creation", "creation_logged"}
* )
Run Code Online (Sandbox Code Playgroud)
我正在使用Symfony 2的正则表达式验证器,我想在我的正则表达式中允许引用字符,但遗憾的是该模式接近此引号,我有一个漂亮的错误.我尝试在它之前添加一个反斜杠,但它也不起作用!
我不是唯一遇到此问题的人:http://groups.google.com/group/symfony2/browse_thread/thread/d0ade380e4f5a64e但是没有回答:s
有没有办法在模式中添加引号字符?
我正在使用Symfony 2开发一个Facebook应用程序。许多人都知道,当包含iframe时,IE会丢失会话!
多亏了header('P3P:CP =“ CAO PSA OUR”');可以解决此问题。
所以我的问题是发送标头('P3P:CP =“ CAO PSA OUR”'); 在Symfony 2。
我在行动中尝试了此操作:
$response = new Response($content);
$response->headers->set('P3P:CP', 'CAO PSA OUR');
return array($response);
Run Code Online (Sandbox Code Playgroud)
没有成功,会话将丢失!
有这样做的主意吗?