Symfony2.6-服务
几个月以来我学会了Symfony2 我已经创建了一个服务。当我在一个简单的控制器中使用它时,我没有问题。当我在管理实体的控制器中使用它时,我遇到了一个问题 我的服务是:Symfony2.6-服务,symfony,Symfony,几个月以来我学会了Symfony2 我已经创建了一个服务。当我在一个简单的控制器中使用它时,我没有问题。当我在管理实体的控制器中使用它时,我遇到了一个问题 我的服务是: <?php namespace Cours\BlogBundle\Services; class Service1 { public function creerSlug($texte) { $texte = transliterator_transliterate("Lat
<?php
namespace Cours\BlogBundle\Services;
class Service1
{
public function creerSlug($texte)
{
$texte = transliterator_transliterate("Latin-ASCII; [:Punctuation:] Remove; Lower();", $texte);
$texte = preg_replace('/[-\s]+/', '-', $texte);
$texte = trim($texte, '-');
return $texte;
}
}
我的观点告诉我,我的鼻涕虫不可能是空的
我认为我的行为有错误,但我找不到
有人帮我吗
非常感谢你的吻改变
$service1 = $this->container->get('service1');
$slug = $serviceSlug->creerSlug($texte);
到
我建议注释/删除
$rubrique=$form->getData()$texte=$rubrique->getTexte()代码>从ajoutraction
手动设置文本(仅用于测试目的):
如果有效,您可以在表单类型的texte
字段中设置一些验证,以防止输入无效值
此外,我建议使用一些库(可能是一个不错的选择),而不是自己处理这个过程 你好,谢谢你的回答。创建此主题时,我犯了一个复制/粘贴错误$service1=$this->container->get('service1')$slug=$service1->creerSlug($texte);表格中未填写段塞。所以,$slug=$rubrique->setSlug($slug);填充属性slug。我在我的实体中为slug使用了@Assert\NotBlank(),当我完成表单时不使用slug。我不知道怎样才能把这个话题放到已解决的话题中。KISSESvar_转储slug并查看creerSlug函数返回的值是否实际不为空。如果它是空的(最有可能是这种情况),那么您就有了罪魁祸首,测试您的函数是$rubrique->gettext()代码>返回值?这是一个简单的调试问题。我不知道什么是音译。你为什么不写一个测试呢<代码>$this->assertThat($service->creerSlug(“-abc def ghi--jkl”),$this->equalTo(“abc def ghi jkl”)代码>?您可以使用PHPUnit的提供者技术来检查许多输入和预期输出。
public function ajouterAction(Request $request)
{
$rubrique = new Rubrique();
$form = $this->createForm(new RubriqueType(), $rubrique);
if ($request->isMethod('POST'))
{
$form->handleRequest($request);
if ($form->isValid())
{
$manager = $this->getDoctrine()->getManager();
$rubrique = $form->getData();
$texte = $rubrique->getTexte();
$service1 = $this->container->get('service1');
$slug = $serviceSlug->creerSlug($texte);
$slug = $rubrique->setSlug($slug);
$manager->persist($rubrique);
$manager->flush();
return $this->redirect($this->generateUrl('cours_blog_accueil'));
}
}
return $this->render('CoursBlogBundle:Rubrique:ajouter.html.twig', array('form' => $form->createView()));
}
$service1 = $this->container->get('service1');
$slug = $serviceSlug->creerSlug($texte);
$serviceSlug = $this->container->get('service1');
$slug = $serviceSlug->creerSlug($texte);
if ($form->isValid())
{
$manager = $this->getDoctrine()->getManager();
// $rubrique = $form->getData();
// $texte = $rubrique->getTexte();
$rubrique->setTexte('Some text');
$service1 = $this->get('service1');
$slug = $service1->creerSlug($rubrique->getTexte());
...