所以我一直试图学习如何创建一个mvc,但我只能弄清楚什么是错误的
好像我忘了发布错误: 注意:尝试在第2行的C:\ xampp \ htdocs \ my_mvc \ views \ producten \ show.php中获取非对象的属性
注意:尝试在第3行的C:\ xampp \ htdocs \ my_mvc \ views \ producten \ show.php中获取非对象的属性
注意:尝试在第4行的C:\ xampp \ htdocs \ my_mvc \ views \ producten \ show.php中获取非对象的属性
的观点: 的index.php:
<p>Here is a list of all producten:</p>
<?php foreach($producten as $product) { ?>
<p>
<?php echo $product->etal; ?>
<a href='?controller=producten&action=show&etal=<?php echo $product->etal; ?>'>See content</a>
</p>
<?php } ?>
show.php:
<p> requested products</p>
<p><?php echo $product->etal; ?></p>
<p><?php echo $product->naam; ?></p>
<p><?php echo $product->prijs; ?></p>
控制器: producten_controller.php:
<?php
class productenController {
public function index() {
$product = Product::all();
require_once('views/producten/show.php');
}
public function show() {
if (!isset($_GET['etal']))
return call('pages', 'error');
$product = Product::find($_GET['etal']);
require_once('views/producten/show.php');
}
}
?>
模型: product.php:
<?php
class Product {
public $etal;
public $naam;
public $prijs;
public $omsch;
public function __construct($etal, $naam, $prijs,$omsch) {
$this->etal = $etal;
$this->naam = $naam;
$this->prijs = $prijs;
$this->omsch = $omsch;
}
public static function all() {
$list = [];
$db = Db::getInstance();
$req = $db->query('SELECT * FROM producten');
foreach($req->fetchAll() as $product) {
$list[] = new product($product['etal'], $product['naam'], $product['prijs'],$product['omsch']);
}
return $list;
}
public static function find($etal) {
$db = Db::getInstance();
$etal = intval($etal);
$req = $db->prepare('SELECT * FROM producten WHERE etal = :etal');
$req->execute(array('etal' => $etal));
$product = $req->fetch();
return new product($product['etal'], $product['naam'], $product['prijs'],$product['omsch']);
}
}
?>
如果有人可以帮助我,这将是惊人的
答案 0 :(得分:0)
尝试更换行
$product = Product::all();
require_once('views/producten/show.php');
使用
$producten = Product::all();
require_once('views/producten/index.php');
index()方法中的