Kohana 3.3 查看 foreach 不输出数组

Kohana 3.3 view foreach not outputting array

我正在使用来自 Internet 的非常简单和基本的示例来学习 Kohana 3.3。

我的控制器:

class Controller_Index 扩展 Controller_Template {

public $template='v_index';

public function action_index()
{

    $this->template->title='Online store';
    $this->template->content='Homepage';
}

public function action_catalog()
{
    $title='Products catalog';
    $products = array(
        'Product 1'=>100,
        'Product 2'=>200,
    );

    $this->template->title='Online products store';

    $this->template->content=View::factory('v_catalog')
        ->bind('products',$products)
        ->bind('product',$product)
        ->bind('cost',$cost)
        ->bind('title',$title);
}

}

我的观点v_index.php

 <h1><?=$title;?></h1>
 <hr>
 <p><?=$content;?></p>

我的观点v_catalog.php:

 <h2><?=$title?></h2>

 <? foreach ($products as $product=>$cost): ?>
     <p><?=$product?><strong><?=$cost?></strong></p>
 <? endforeach; ?>

当我转到 http://localhost/kohana/index/catalog 时,浏览器输出两个标题:在线商店和产品目录。但是在 foreach 圆所在的地方它输出

 $cost): ?> 

我做错了什么?我不能遍历这个数组吗?或者我的语法有误?将不胜感激帮助我的错误。

看来在这段代码中最好使用完整语法

 <?php ?>

而不是

 <? ?>

我尝试将代码更改为:

 <?php foreach ($products as $product=>$cost): ?>
     <p><?=$product?><strong><?=$cost?></strong></p>
 <?php endforeach; ?>

现在一切正常。

这是因为PHP中的short_open_tag选项被禁用了。 Here 您已详细了解如何启用此选项。之后你可以使用:

<? ?>