草庐IT

symfony-dependency-injection

全部标签

php - 单元测试持久层 - Symfony

我想在Symfony2中测试持久性。我想知道它是更好的模拟实体并提供给实体管理器还是更好的模拟实体管理器并将实体传递给管理器?我是第一个选项,但实体管理器抛出异常而不是对象不是实体学说。如何在PHPUNIT中测试持久性symfony? 最佳答案 与其编写单元测试,不如为持久层编写集成测试。单元测试中有一条规则“不要mock你不拥有的东西”。你不拥有Doctrine类或接口(interface),你永远无法确定你对你模拟的接口(interface)所做的假设是真实的。即使它们在您编写测试时为真,您也无法确定Doctrine的行为是否随

php - Symfony2,如何向表单添加隐藏的日期类型字段?

我正在尝试以下场景:在myclassTypepublicfunctionbuildForm(FormBuilder$builder,array$options){$builder->add('day','hidden')->add('date','hidden')->add('hours')->add('comment','textarea');}在myclassclassmyclass{//..Otherstuff/***@ORM\Column(type="date")**@vardate$date*/protected$date;}渲染时出现此错误:Anexceptionhasbe

php - POST 可以进行 SQL 注入(inject)吗?

如果通过GET传递参数,则可能存在Sql注入(inject)。但是也可以通过POST。如果是,https可以阻止吗? 最佳答案 是的,可以使用$_POST以及$_GET、$_COOKIE和$_REQUEST.HTTPS根本不会保护你。你必须使用一些功能来保护你,例如mysql_real_escape_string或使用preparedstatements.来自网络浏览器的所有通信都应作为“不可信”处理。您不能信任的其他技术是Ajax、文件上传和JavaScript表单验证(以及其他)。所有这些数据都直接来自Web浏览器,在您过滤或验

php - 在 PHP 文件中注入(inject)病毒代码

我拥有一个在LAMP(Linux、Apache、mySQL和PHP)上运行的网站。在过去的2-3周内,我网站上的PHP和jQuery文件被来自名为gumblar.cn的网站的恶意软件感染我不明白这个恶意软件是如何进入我的PHP文件的,我该如何防止它一次又一次地发生。有什么想法吗?更新:Lookslikeitisacpanelexploit 最佳答案 您的网站已破解,因此破解者只是替换了您的文件。每当发布安全警报时,您应该始终升级您的Linux操作系统、Apache、MySQL、PHP和WebPHP程序。运行开放服务而不定期升级的Li

php - Symfony2 和 Windows 虚拟机

多年来,我一直在我的Mac上进行PHP开发,但我不得不将我的部署操作系统从Linux和Mac更改为WindowsServer。我已经在VMWareFusionVM中设置了一个与我将要部署到的机器相同的WindowsServer。与Vagrant设置非常相似,我已经将一个文件夹从我的本地计算机共享到VM,并且我试图让它通过VM为Symfony2应用程序提供服务,同时继续在Mac上进行开发(我所有的工具都在这里)).配置页面运行良好,但当我尝试加载实际页面时出现以下错误:InvalidArgumentException:Unabletoparsefile"\\VMWARE-HOST\SHA

php - 如何在 symfony2 中缩小缓存的 Twig 模板 HTML 和内联 CSS、JS 代码?

我正在使用symfony2.3,我想提供一个缩小的HTML以及内联CSS和JS。我知道有一些bundle可以做到这一点,但它使用onKernelResponse事件监听器即时缩小了所有内容,我尝试了“MatTheCat/HtmlCompressorBundle”,但在检查服务器响应时间后,请求总时间和使用后的内存使用情况我发现这些性能指标变得最差。我认为完成此任务的最佳方法是在编译twig文件时执行缩小操作,这样它只会在生产环境中缩小。我已经使用asseticbundle来缩小js和css文件。我怎样才能完成这个任务? 最佳答案 这

php - Symfony + Doctrine Oracle DateTime 格式问题

我在Symfony2.7+Doctrine中遇到OracleDateTime类型的问题。我有一个带有DateTime列的表,它通过Doctrine在Symfony中映射。当我尝试保留相关实体时,出现以下错误:Couldnotconvertdatabasevalue"31-MAY-1603.56.49.000000PM"toDoctrineTypedatetime.Expectedformat:Y-m-dH:i:sFile:.../vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.phpLine:63我无法更

php - Symfony2 Controller 和模板表达式可以相对于 bundle 来写吗?

以下面的Controller/Action为例:publicfunctionindexAction(){return$this->render('TestBundle:TestController:index.html.twig');}我想这样写模板表达式(或任何它的名字):publicfunctionindexAction(){return$this->render('*:TestController:index.html.twig');}这样symfony就知道我正在这个包中寻找模板。必须为我想引用的每个模板/操作/存储库编写整个Owner+Bundle非常烦人。更重要的是,考虑到

php - Symfony 2 ERR_CONNECTION_RESET

我在没有供应商的情况下下载了symfony2.0.9。之后我执行phpbin/vendorsinstall来安装供应商。过程顺利。但是当我执行http://localhost/project/web/app.php我收到了Error101(net::ERR_CONNECTION_RESET)我不知道发生了什么。如果我在app.php中注释行$kernel->handle(Request::createFromGlobals())->send();响应更改为200好的。有人知道问题出在哪里吗?我在PHP5.3.9提前致谢。 最佳答案

php - 如何使用依赖注入(inject)创建业务层对象?

我的目标是尽可能让我的框架与我的应用程序分离(尽管我知道这并非完全可能)。我在我的应用程序中使用了几种不同的常见模型类型……映射器、数据对象和值对象。例如,UserMapper接受一个UserData对象并从数据库中收集信息,然后将其映射到一个UserValue对象以供在Controller中使用。这意味着这些模型具有以下依赖关系:UserMapper:需要UserData,以及构建UserValue的方法UserData:需要Db(来自框架)UserValue:什么都不需要我是否在框架的DIC方法中包含了创建Mapper对象、Data对象和Value对象的方法,以便可以自动注入(in