草庐IT

Symfony4

全部标签

php - 将路由重定向到 Symfony 4 中的语言前缀

从4.1版开始,Symfony现在无需外部插件即可处理多语言路由(https://symfony.com/blog/new-in-symfony-4-1-internationalized-routing)。我已经成功地翻译了我的路线并且一切正常,除了在访问根url(“/”)时,Symfony呈现404错误而不是重定向到诸如“/en/”之类的语言文件夹。我做了一些研究,但我发现的大部分内容都非常过时(主要是Symfony2)。也遇到了这个Symfony3RedirectAllRoutesToCurrentLocaleVersion但对于这样一个简单的问题,这似乎是一个非常乏味的解决方案

php - Symfony 4,从自定义类(不是 Controller 类)获取项目的根路径

在src/Utils目录中,我为各种事物创建了一个自定义类Foo。我正在寻找一种方法来获取symfony4项目的绝对根路径从Controller,它很容易:$webPath=$this->get('kernel')->getProjectDir();但是从我在src/Utils目录中创建的自定义类,我如何才能获得根路径目录?我可以将路径从Controller传递到Foo类:$webPath=$this->get('kernel')->getProjectDir();$faa=newFoo($webPath);$faa->doSomething();但我认为将此信息存储在Foo类中并且在

php - Symfony 2 配置错误

我已经从教程Tutorial安装了symfony.安装没问题,它显示了欢迎页面,但是当我点击configureyoursymfonyapp时,出现以下错误fatalerror:在第48行的C:\xampp\htdocs\Symfony\vendor\symfony\src\Symfony\Component\DependencyInjection\Compiler\PassConfig.php中找不到类'Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPass'

php - 将 JSON 解码为 Symfony 实体

除了编写自定义脚本将JSON对象解码为PHP实体之外,有谁知道是否有简单的方法?我正在使用下面的脚本编码为JSON,但是当我解码时它是一个数组而不是一个实体。$serializer=newSerializer(array(newGetSetMethodNormalizer()),array('json'=>newJsonEncoder()));$json=$serializer->serialize($coupon,'json');$session->set('json',$json);然后我就这样解码$session=$this->getRequest()->getSession()

php - 使用 Symfony 获取未登录用户的安全 token

我如何才能为任何用户获取安全token,而不仅仅是当前登录的用户?我希望能够对从数据库中获取的用户调用isGranted() 最佳答案 isGranted()来自安全服务,因此在不调整session状态的情况下很难/没有必要使用它来获取角色。不要误会我的意思,这绝对有可能......这会起作用,例如:publicfunctionstrangeAction(){//GetyourUser,howeveryounormallygetit$user=$userRepository->find($id);//Savethecurrentto

php - 使用 Symfony 从 Doctrine 模型创建数据库

我已经使用SQLCREATEDATABASE命令创建了一个新数据库来托管我的应用程序表。我现在将使用Doctrine从我的Symony2.1项目生成数据库。我已经有了正确的映射YML-PHP实体,但是当我尝试使用命令时phpapp/vendorsdoctrine:schema:create它在我的应用程序中运行的查询失败。我不明白的是为什么它似乎在尝试启动我的包,但显然它失败了,因为我执行的查询找不到表。如何生成新数据库?Basetableorviewnotfound:1146Table'mydatabase.mytable_menu'doesn'texist

php - 如何覆盖 symfony2 中的注销操作

我知道默认情况下symfony2安全Controller可以执行注销操作。当我们像这样提供注销路径时,它工作正常。但是我需要执行一些操作,比如在发生注销时将一些数据存储到数据库中。那么我该如何实现呢。如果有任何想法请帮助我。 最佳答案 您需要在routing.yml或注释中为注销操作定义新规则(由您决定)logout_user:pattern:/logoutUserdefaults:{_controller:YourBundle:YourController:logout}然后它只是像这样为这个Action编写代码:publicfu

php - 在 Symfony 2 中创建 2 个具有相同形式的不同实体

是否可以创建2个具有相同表单和操作的相关实体?如果是,如何?我想在第一步注册中创建一个新用户及其相关问卷。谢谢,卢卡 最佳答案 您可以为相关实体(调查问卷)创建一个表单类型,并将其用作用户表单类型中的字段类型。这称为表单嵌套。//src/Acme/DemoBundle/Form/Type/QuestionnaireType.phpnamespaceAcme\DemoBundle\Form\Type;useSymfony\Component\Form\AbstractType;useSymfony\Component\Form\For

php - symfony2 错误:sessionHandler::read()

我在生产服务器中遇到了这个错误。在本地服务器上一切正常。request.CRITICAL:UncaughtPHPExceptionErrorException:Warning:SessionHandler::read():open(C:/Inetpub/vhosts//tanur.ir/vhosts/tanur.ir/private/session\sess_3olhvc8osdevomrh72bhsra4k6,O_RDWR)failed:Nosuchfileordirectory(2)inC:\Inetpub\vhosts\tanur.ir\httpdocs\Symfony\vend

php - 检查用户是否在 symfony 中被重定向?

我的symfony项目中有一条路线受到限制,所以如果我尝试在未登录的情况下前往那里,我将被重定向到登录页面。我想区分什么时候我试图在没有登录的情况下进入限制区域,什么时候我直接进入登录页面。关于如何在symfony中执行此操作的任何线索?更新通过区分,我的意思是通过某种方式来检查用户是否通过直接转到该url登陆了登录页面,或者用户是否因为试图访问受限页面而登陆了登录页面。 最佳答案 Thomas的解决方案很好。这是一个替代方案。知道这一点并且只有在未登录的情况下您才会被重定向,您可以使用附加参数让您的安全防火墙重定向。安全.yml.