Kohana 3.3查看foreach不输出数组

时间:2016-04-15 07:34:29

标签: kohana kohana-3.3

我正在使用互联网上非常简单和基本的例子来学习Kohana 3.3。

我的控制器:

类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): ?> 

我做错了什么?我不能循环通过这个数组?或许我的语法错了?非常感谢您帮助解决我的错误。

2 个答案:

答案 0 :(得分:1)

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

<? ?>

答案 1 :(得分:0)

似乎在此代码中使用完整语法

更好
 <?php ?>

而不是

 <? ?>

我尝试将代码更改为:

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

现在它的工作正常。