2014-08-29 12:40



I build my own plugin just for learning the Framework. It just returns a date(). I get an error in my view when I try to echo it. Its not that hard to understand the error, but what is hard (or at least, what I think is hard) is how I should return it from the plugin so my view (and eventually later other views) don't need any extra information as just pluginReturn?>

The plugin is registered in module.config.php (and it works, else I wouldn't have an error).

Well, some code:


namespace Tijdmachine\Controller\Plugin;

use Zend\Mvc\Controller\Plugin\AbstractPlugin;

class TellTheTime extends AbstractPlugin{
    * @return string
    public function giveMyTime(){
        return date('H:i:s');

Lines from Controller involved:

$plugin = $this->TellTheTime();

        $views = new ViewModel(array('text' => 'Het is nu de tijd.', 'pluginReturn' => $plugin));

View line:


The error I'm getting: Catchable fatal error: Object of class Tijdmachine\Controller\Plugin\TellTheTime could not be converted to string in /home/snoech/code/zftuts/trunk/module/Tijdmachine/view/tijdmachine/index/index.phtml on line 19

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • douyouming9180 douyouming9180 7年前

    Your $plugin contain the object. Re-assign the value in a variable and give it to the view:

    $plugin = $this->TellTheTime();
    $myDate = $plugin->giveMyTime();
    $views = new ViewModel(array('text' => 'Het is nu de tijd.', 'pluginReturn' => $myDate));


    $plugin = $this->TellTheTime();
    $views = new ViewModel(array('text' => 'Het is nu de tijd.', 'pluginReturn' => $plugin->giveMyTime()));
    点赞 评论 复制链接分享