0

我有以下模型:

class Person
{
    public $name;
    function __Construct( $name )
    {
        $this->name = $name;
    }
}

我有以下控制器:

class NavigationController extends Controller
{
    public function indexAction()
    {
        $people = array(
            new Person("James"),
            new Person("Bob")
        );
        return $this->render('FrameworkBundle:Navigation:index.html.php', $people);
    }
}

如何访问视图中的模型数组。有没有办法直接访问模型或者我必须像这样分配一个属性:?

class NavigationController extends Controller
{
    public function indexAction()
    {
        $people = array(
            new Person("James"),
            new Person("Bob")
        );
        return $this->render('FrameworkBundle:Navigation:index.html.php', array( "model" => $people ) );
    }
}

看法:

<?php 
    foreach( $model as $person )
    {
       echo $person->title;
    }
?>

上述问题将是用户可以将其更改为

return $this->render( 'FrameworkBundle:Navigation:index.html.php', array( "marybloomingpoppin" => $people ) );
4

1 回答 1

0

使用您使用的示例视图,您已经有了正确的实现:

class NavigationController extends Controller
{
    public function indexAction()
    {
        $people = array(
            new Person("James"),
            new Person("Bob")
        );
        return $this->render('FrameworkBundle:Navigation:index.html.php', array( "model" => $people ) );
    }
}

您提到了有人可能会更改控制器中的分配的担忧,但是如果有人仅在一个地方而不是全部更改变量的名称,那么您总是会遇到这种情况。所以我不认为这是一个问题。

于 2013-10-09T16:16:56.640 回答