如何在Zend Framework 2中传递和显示变量

如何在Zend Framework 2中传递和显示变量

问题描述:

I want to learn Zend Framework 2, I already install it in my machine, I reached the welcome page, that's good, so when I look it's structure it has a big difference in CodeIgniter or Laravel, my problem is I want to display some text or string in my index.phtml. In my IndexController.php I got this.

public function indexAction() {
    $sample = 'sample string'; // this is what I want to pass in my index.phtml
    return new ViewModel();
}
  1. How can I pass the variable into my index.phtml ?
  2. How can I display it in my index.phtml?

For example, in CodeIgniter look like this.

//Controller.php
public function indexAction() {
    $data = 'Sample data'; // this is sample string that will display in my index.php
    return view('home',$data);
}
//View
<?php
   echo $data; // it will print the string in my $data(variable); 
?>

I'm newbie in Zend Framework 2, I don't have any idea in this framework. help me guys.
Thank you in advance for helping mo to solve my problem.

In Zend 2, you pass any variable you want to use in your view to ViewModel or return an array:

public function indexAction() {
    $sample = 'sample string'; // this is what I want to pass in my index.phtml
    return new ViewModel(array(
        "sample" => $sample
    ));
}

or:

public function indexAction() {
    $sample = 'sample string'; // this is what I want to pass in my index.phtml
    return array(
        "sample" => $sample
    );
}

You can then access $sample in your index.phtml like this:

<?php echo $this->sample ?>

The array key will always be the property name of your view.

For more information see also:

http://framework.zend.com/manual/current/en/modules/zend.view.quick-start.html