スペルミスがあったが修正したら問題なく動いた
あと、これはPHP5で動作確認した。
-- template.php --
<?php
$edit = new Edit('abc');
$contents = $edit->execute();
?>
<?=$contents?>

-- edit.php --
<?php
class Edit {
 private $template;
 public function __construct($abc) {
  $this->template =<<<EOL
ほえほえ{$abc}
EOL;
 }

 public function execute() {
  return $this->template;
 }
}

-- index.php --
require_once( 'edit.php' );
require_once( 'template.php' );