我正在使用互联网上非常简单和基本的例子来学习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): ?>
我做错了什么?我不能循环通过这个数组?或许我的语法错了?非常感谢您帮助解决我的错误。
答案 0 :(得分:1)
这是因为禁用了PHP中的 short_open_tag 选项。 Here您有详细信息如何启用此选项。之后你可以使用:
<? ?>
答案 1 :(得分:0)
似乎在此代码中使用完整语法
更好 <?php ?>
而不是
<? ?>
我尝试将代码更改为:
<?php foreach ($products as $product=>$cost): ?>
<p><?=$product?><strong><?=$cost?></strong></p>
<?php endforeach; ?>
现在它的工作正常。