Tag: symfony

如何使用PHPUnit在Symfony2中设置数据库繁重的unit testing?

我对testing世界相当陌生,我想确保自己走在正确的道路上。 我正在尝试使用phpunit在symfony2项目中设置unit testing。 PHPUnit正在工作,简单的默认控制器testing工作正常。 (然而,这不是关于functiontesting,而是unit testing我的应用程序。) 尽pipe我的项目很大程度上依赖于数据库交互,而据我所知,从phpunit的文档中 ,我应该build立一个基于\PHPUnit_Extensions_Database_TestCase ,然后为我的数据库创build灯具,并从那里工作。 然而, symfony2只提供了一个WebTestCase类,它只能从\PHPUnit_Framework_TestCase开箱即用。 那么我是否应该假设我应该创build自己的DataBaseTestCase ,它主要复制WebTestCase ,区别在于它从\PHPUnit_Extensions_Database_TestCase扩展并实现了它的所有抽象方法? 还是有另一个“内置的” symfony2推荐的工作stream程涉及到数据库为中心的testing? 因为我想确保我的模型存储和检索正确的数据,所以我不希望最后偶然地检验教义的细节。

如何从symfony2中删除一个实体

我的第一个symfony2项目是一个存储在数据库中的访客列表(被邀请参加一个活动)。 我有 创build实体类来宾与他们的所有variables(ID,姓名,地址,电话号码等) 在mysql数据库中创build了模式 创build了一个“添加客人”到树枝模板的路线 创build了一个formType 最后在Controller中创build一个“createGuest”方法,一切正常。 我无法设法从数据库中删除一个客人。 我已经阅读了networking上的每一个教程,包括官方的Symfony2书籍; 所有它说的是: 删除一个对象 删除对象非常相似,但需要调用实体pipe理器的remove()方法: $em->remove($product); $em->flush(); 它甚至没有提到如何连接控制器deleteAction($ id)和树枝模板(甚至“Update a object”部分丢失了文档)。 我想要做的是使用viewGuests操作和viewGuests树枝模板列出所有访客,在每行旁边都有一个删除图标,您应该单击删除图标以删除条目。 简单,但我找不到任何文件,不知道从哪里开始。 public function deleteGuestAction($id) { $em = $this->getDoctrine()->getEntityManager(); $guest = $em->getRepository('GuestBundle:Guest')->find($id); if (!$guest) { throw $this->createNotFoundException('No guest found for id '.$id); } $em->remove($guest); $em->flush(); return $this->redirect($this->generateUrl('GuestBundle:Page:viewGuests.html.twig')); }

是否有可能限制只有AJAX的路线?

是否有可能限制一个Symfony 2路线的XHR请求只? 我想声明只能通过AJAX访问的路由。 我不想在每个特定于AJAX的操作中添加一些额外的行: if ($request->isXmlHttpRequest()) { // do something } else { // do something else } 我想定义: AJAX请求的一个规则 GET / POST请求到同一个URL的一个规则 为了解决像上面这样的条件。

如何在Symfony 2中caching?

我需要使用Symfony 2的caching系统caching一些特定于应用程序的数据,以便我可以运行cache:clear以清除它。 所有的caching依赖于app/cache但我怎么真的去caching数据? http://symfony.com/doc/current/cookbook/index.html 我看到的唯一主题是关于使用Varnish的HTMLcaching。

Doctrine2版本库是保存实体的好地方吗?

当我阅读有关存储库的文档时,通常是以“只读”方式处理实体和集合。 从来没有例子存储库有像insertUser(User $user)或updateUser(User $user) 。 但是,在使用SOA时,服务不应该与实体pipe理器一起工作(是的,不是吗?),所以: 我的服务应该知道全局的EntityManager吗? 如果我的服务只知道使用的存储库(比方说,UserRepository和ArticleRepository) 从这两个问题,另一个问题,我的服务应该明确地persist()和flush()我的实体?

在Symfony2中“Acme”代表什么?

Symfony2中的标准软件包是'Acme',但是它代表什么?

学说 – 通过这种关系find了一个新的实体

自2周以来,我们在尝试刷新新元素时遇到了这个问题: CRITICAL:Doctrine \ ORM \ ORMInvalidArgumentException: 通过关系“Comment#capture”发现了一个新的实体,该关系没有被configuration为级联实体的持久化操作 但是capture已经在数据库中了,我们正在通过findOneBy来获取它,所以如果我们逐级保存它,或者坚持它,我们得到一个 表约束违规:重复条目。 注释是在不同的捕获循环中创build的,新的和所有必填字段都被设置。 在所有的实体被findOne (以及所有有效的)持久化和/或获取的情况下,刷新仍然失败。 我一直在这个问题上,所以请帮助我

我如何在Doctrine 2 DQL中使用now()?

$ php app / console doctrine:query:dql'SELECT now()' [Doctrine \ ORM \ Query \ QueryException] [语法错误]第0行,第7列:错误:预期的已知函数,得到'现在' 我如何设法使用Doctrine DQL的MySQL now()函数?

我怎样才能多次重复使用一个块?

如何在树枝模板的视图中多次渲染一个块? 目前我有一个块,让我们把它叫做包含(通过render )的小枝文件中定义的something 。 然后使用以下代码将它包含在layout-twig文件中: {% block something %}{% endblock %} 一切都很好,但是一旦我第二次调用这个标签,我得到以下错误信息: The block 'something ' has already been defined in "::layout.html.twig" 因此:我怎样才能多次渲染一个块?

Laravel迁移:类“未find”

我正在向Microsoft Azure部署一个Laravel准系统项目,但每当我尝试执行php artisan migrate ,都会收到错误消息: [2015-06-13 14:34:05] production.ERROR:在D:\ home \ site \ vendor \ laravel \ framework中找不到'Class'消息的exception'Symfony \ Component \ Debug \ Exception \ FatalErrorException' \ SRC \照亮\数据库\迁移\ Migrator.php:328 堆栈跟踪: #0 {main} 可能是什么问题呢? 非常感谢你 – 编辑 – 迁移class <?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * […]