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 您已详细了解如何启用此选项。之后你可以使用:
<? ?>
我正在使用来自 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 您已详细了解如何启用此选项。之后你可以使用:
<? ?>