草庐IT

symfony-components

全部标签

php - Symfony2 - bundle 的 fatal error

我遇到了错误[问题末尾的解决方案]Fatalerror:Class'symblog\Blogger\BlogBundle\SymblogBundle'notfoundin/var/www/Symfony/app/AppKernel.phponline20我提出了这个问题HowtoinstallorintegratebundlesinSymfony2,但给出的解决方案对我没有帮助,因为我已经按照那里的建议做了。我正在学习教程symblog.co.uk除了我创建于app/config/routing.yml一个*.phpresource提前致谢!我必须补充一点,在通过控制台注册bundle

php - 在重定向 symfony2 之前检查 url

if($u=$this->generateUrl('_'.$specific.'_thanks'))return$this->redirect($u);elsereturn$this->redirect($this->generateUrl('_thanks'));当它存在时,我不想重定向到_specific_thanksurl。那么如何检查一个url是否存在呢?当我这样做时,我遇到了这个错误:Route"_specific_thanks"doesnotexist. 最佳答案 我认为没有直接的方法来检查路由是否存在。但是你可以通过路

php - Symfony Sonata 管理语言不起作用

我安装了SonataadminBundle,一切正常,但我没有任何语言-admin中的按钮和文本就像之前翻译的示例一样:label.select_context,btn_filter(不是过滤器而是btn_filter)和其他-我可以在哪里设置sonataadmin的语言? 最佳答案 在config.yml中启用翻译器。喜欢。framework:translator:{fallback:"%locale%"} 关于php-SymfonySonata管理语言不起作用,我们在StackOve

php - 如果 Symfony Form 中某些字段为空,则一个字段不应为空

在我的Symfony2(2.4.2)应用程序中,有一个由3个字段组成的表单类型。我希望验证是这样的:如果fieldA和fieldB为空,则fieldC不应为空。这意味着至少一个字段应该接收一些数据。目前,我在Controller中检查接收到的数据。有更推荐的方法吗? 最佳答案 有比编写自定义验证器更简单的解决方案。最简单的可能是表达式约束:classMyEntity{private$fieldA;private$fieldB;/***@Assert\Expression(*expression="this.fieldA!=''||t

php - Symfony2 中翻译的高级定制

我有一个Symfony2项目,我正在使用Translation组件来翻译文本。我在yml文件中有所有的翻译,就像这样translation-identifier:Translatedtexthere从Twig翻译文本看起来像这样'translation-identifier'|trans({},'domain')问题是,在某些情况下,我希望同一翻译有两个不同的文本(不是为了复数)。这是我希望它的工作方式:在yml文件中为需要不同文本的翻译定义两个文本。每个都有自己独特的后缀translation-identifier-suffix1translation-identifier-suff

php - Symfony2 安全中的重定向死循环

我有一个管理区域,我们强制使用https://登录。如果用户未登录,点击路由/admin应该重定向到登录页面,但我遇到了无休止的重定向循环。不确定哪里出了问题,这是security.yml:firewalls:admin_login:pattern:^/admin/secured/login$security:falseadmin_secured_area:pattern:^/adminprovider:entity_adminform_login:check_path:/admin/secured/login_checklogin_path:/admin/secured/logind

php - 没有 Doctrine 的 Symfony2

没有Doctrine如何安装symfony2?我尝试使用composer删除包并手动卸载包,但我总是遇到错误。我的应用程序将从RestfulWS获取数据,所以我根本不需要Doctrine。 最佳答案 使用Symfonyinstaller创建一个Symfony标准版项目:symfonynewsymfony-se从您的composer.json中删除doctrine/doctrine-bundle和doctrine/orm。从AppKernel中的注册包列表中删除DoctrineBundle。从app/config/config.yml

php - Symfony2/Twig - 迭代选择选项

显示select字段的通常方式是调用{{form_row(form.doctor_service_id,{'attr':{'class':'form-control'}})}}我想做两件事:检查这个字段是否真的是一个选择字段遍历每个选项(值、名称)。我知道twig迭代器是如何工作的,我只是不知道如何访问select选项并将它们转换为它。 最佳答案 {%forkey,valinform.country.vars.choices%}{{val.label|trans}}{%endfor%}

php - 如何在 Symfony2 Twig 模板中调用静态函数

如何在不通过Controller的情况下调用twig模板中的静态函数?例如:...{{MyStaticClass::getData()}}...我的静态类:classMyStaticClass{constv1='Value1';constv2='Value2';...publicstaticfunctiongetData(){...return$data;}} 最佳答案 与编写Twig扩展相比,更简单/不那么臃肿的解决方案有时可以是简单地将带有静态方法的类的新实例传递给Twig。例如//...$viewVars['MyStaticC

php - Symfony 4,Postgres - `Invalid value for parameter "client_encoding": "utf8mb4"` on running doctrine command

问题我对postgres10.5和symfony4应用程序进行了全新设置,在php7.1上运行。但是当我尝试运行迁移时。我不断收到以下Invalidvalueforparameter"client_encoding":"utf8mb4"错误。重现步骤在.env文件上,根据您的设置修改DSN以更正值,例如。我的是DATABASE_URL="pgsql://postgres:password@db:5432/a_db"。使用phpbin/consolemake:entity创建一个实体(任何人都可以)制作迁移文件phpbin/consolemake:migration预期结果我应该收到成功