2016-04-15 67 views
0

我正在學習Kohana 3.3使用來自Internet的非常簡單和基本的示例。Kohana 3.3查看foreach不輸出數組

我的控制器:

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

我在做什麼錯?我無法循環訪問這個數組嗎?或者,也許我的語法錯了?將不勝感激,以幫助我的錯誤。

回答

1

這是因爲short_open_tag PHP中的選項被禁用。 Here你有詳細的如何啓用這個選項。之後,您可以使用:

<? ?> 
0

看來,在這個代碼,最好使用完整的語法

<?php ?> 

而不是

<? ?> 

我試圖將代碼更改爲:

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

而現在工作得很好。