目标我们正在为客户提供多项选择练习系统的解决方案,学生每月支付成员(member)费以测试他们的知识并为医学相关考试做准备。在Symfony2中提供此解决方案的一个主要问题是学生可以购买一个订阅,与同学和同事分享他们的凭据,并将订阅费用分摊到多个并发登录上。为了尽量减少这一问题,我们希望防止在我们的Symfony2项目中同时维护多个session。研究大量的Google-fu让我找到了这个稀疏的GooglegroupthreadOP被简要告知使用PdoSessionHandler将session存储在数据库中。这是anotherSOquestionwheresomeoneelsewor
场景是这样的:我有一个单选按钮组。根据它们的值,我应该或不应该验证其他三个字段(它们是否为空,是否包含数字等)。我能否以某种方式将所有这些值传递给约束条件,并在那里进行比较?或者直接在Controller中回调是解决这个问题的更好方法?一般来说,这种情况下的最佳做法是什么? 最佳答案 我建议你使用callbackvalidator.例如,在您的实体类中:getRadioSelection()=='1'//RADIOSELECTEXAMPLE&&(//CHECKOTHERPARAMS$this->getFiled1()==null))
在学习“实用Symfony”类(class)时,我遇到了一个奇怪的错误。我在VMWare6.5.5机器上安装了DebianSqueeze。它带有PHP5.3.3,我使用的是Symfony1.4。源文件在主机上,我正在使用共享文件夹功能(vmhgfs挂载)访问它们。现在,当我尝试以下命令时,出现错误:phpsymfonydoctrine:build--modelphpsymfonydoctrine:build--sql错误:PHPParseerror:syntaxerror,unexpected')'in/var/www/appli/lib/model/doctrine/base/Bas
对于我的应用程序包,我需要一些既不是Controller也不是模型的类。例如,我想要一个scorecard类,其中包含诸如“skill”、“efficiency”、“beauty”等成员。此外,它可能具有成员方法/getter,如“meanScore”.这样的类在Symfony框架中的什么位置? 最佳答案 我同意@Gordon的观点,这听起来像是一个业务对象。但是,如果您确定它不是,那么下一步就是弄清楚如何对其进行分类。是helper吗?事件监听器?实用类?弄清楚这一点后,问问自己:它是特定于一个包的,还是您打算在项目中重用它?假设
我们可以在symfony2安全的访问控制中使用正则表达式吗?1)/foo/{id}--[ROLE_ADMIN]2)/foo/{id}/profile--[IS_AUTHENTICATED_ANONYMOUSLY]另一个问题:如果我从我的安全中删除了access_control,它仍然会转到安全模块并尝试从Security/Authentication/Provider/AuthProvide进行Authenticate。理想的行为应该是什么?如果security.yml中没有access_control,我认为它不应该对资源进行身份验证。我的防火墙配置是:firewalls:main:
我想从Controller内部检查它是否是安全页面。如何做到这一点?我的用例如下:用户可以注册并登录如果他登录并尝试访问安全页面,他将被重定向到“测试版”页面,直到6月底。如果他尝试访问普通页面(不安全),他将能够在没有任何重定向的情况下访问该页面。感谢您的帮助!奥雷尔 最佳答案 当Symfony2处理请求时,它会将url模式与app/config/security.yml中定义的每个防火墙进行匹配。当url模式与防火墙模式匹配时,Symfony2创建一些监听器对象并调用这些对象的handle方法。如果任何监听器返回一个Respon
想要将遗留应用程序与Symfony2应用程序集成-用Symfony组件替换旧应用程序的越来越多的部分。我将采用的方法是在遗留应用程序中使用Symfony2容器获取已为Symfony2应用程序配置的服务。我想使用的第一个服务是session和安全上下文。问题:这可行吗?如何获取配置的服务容器?遗留应用程序中的更多信息:典型的PHP困惑:单个PHP文件,作为“Controller”(检查$_GET和$_POST以获取不同的执行路径)。每个页面都包含init.php,它设置自动加载、数据库连接等。session管理有自己的类(我想替换它),通过调用静态方法检索数据(!)数据库对象。
Symfony文档说:Duringeachrequest,Symfony2willsetaglobaltemplatevariableappinbothTwigandPHPtemplateenginesbydefault.TheappvariableisaGlobalVariablesinstancewhichwillgiveyouaccesstosomeapplicationspecificvariablesautomatically:app.security-Thesecuritycontext.app.user-Thecurrentuserobject.app.request-T
我正在使用Symfony2.2和最新版本的FOSRestBundle。因此,我设法使大部分操作都有效,但我传递PUT调用请求的FormBuilder似乎有问题。我已经检查了请求对象,它来self的Backbone.je模型,因为它应该(.save())但是在绑定(bind)到表单之后,实体返回只有导致flush()抛出错误的id因为必填字段未填写。Controller中的Action:header('Access-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONS');header('AllowGET,POST,PUT,DELETE,OP
我已经尝试了几个小时了-我似乎找不到任何有效的帖子。我正在将自定义php类添加到Symfony2供应商目录。例如(复制其他供应商结构):vendor/mylib/mylib/src/Mylib/Lib/Class.php然后我通过添加更新根composer.json:"require":{"mylib/mylib":"@dev"},我还在vendor/mylib/mylib中创建了一个composer.json,其中包含:{"name":"mylib/mylib","type":"library","description":"MyLibraty","keywords":["libra