0

我正在阅读 Symfony2 入门指南,我的问题是:

我有一个包含列的数据库:价格,描述,id,名称然后在我的控制器中,我获取这些列并通过树枝模板显示它们。在我的控制器中,我这样做:

public function showAction($id)
    {
        $product = $this->getDoctrine()
            ->getRepository('AcmeStoreBundle:Product')
            ->find($id);

        if (!$product) {
            throw $this->createNotFoundException(
                'No product found for id '.$id
            );
        }

        $price = $product -> getPrice();
        $description = $product -> getDescription();
        return $this->render(
        'AcmeStoreBundle:Store:index.html.twig',
        array('id' => $id, 'price' => $price, 'description' => $description)
        );
    }

我的问题是,我可以将 $price,$description 更改为其他名称吗...?还是我被迫继续提及这些变量,就像它们在数据库中命名一样?

基本上,我可以这样做:

$foo = $product -> getPrice();
$bar = $product -> getDescription();

然后在我的渲染函数中执行:

   return $this->render(
        'AcmeStoreBundle:Store:index.html.twig',
        array('uniquecode' => $id, 'cost' => $foo, 'message' => $bar)
        );

我的问题有两个:1)我可以这样做2)这样做是一个好习惯吗?

4

1 回答 1

4

更好的:

return $this->render('AcmeStoreBundle:Store:index.html.twig', array(
       'product' => $product
 ));

您可以像这样访问 twig 中的产品属性

{{ product.description }}

为变量使用有意义的名称。变量名必须定义其内容的准确解释

我在这里找到它http://codebuild.blogspot.de/2012/02/15-best-practices-of-variable-method.html但你可以用谷歌搜索变量和方法命名

于 2013-02-08T11:36:55.123 回答