MVCパターンで理解できない点が1つあります。理解してください。
たとえば、データベースに自動車のテーブルがあり、テーブルから結果を取得して印刷したいのですが、結果が見つからない場合(0行)、この場合は「結果がありません」と出力します。
これはmodels.php
class modesl {
function getCars () {
$res = $this->db->query("SELECT names FROM cars");
if ($res->num_rows == 0) {
return "We dont have results";
}
else {
return $res;
}
}
}
これはviews.php
class views {
function loadHTML ($resultFromCars) {
require 'carspage.php';
}
}
これはcarspage.php
<html>
<body>
<?php
if (is_object($resultFromCars)) {
while ($row = $resultFromCars->fetch_assoc()) {
echo $row['names']."<br>";
}
}
else {
echo $resultFromCars;
}
?>
</body>
</html>
これはcontrollers.php
class controllers {
function generatePage () {
$model = new models();
$resultFromCars = $model->getCars();
$view = new views();
$view->loadHTML($resultFromCars);
}
}
これは機能しますが、私が知っているように、ビューにある多くのphpコード(つまり条件if (is_object) { } else { }
)は正しいMVCではありません。この具体的なケースについて教えてください、正しいMVCコンセプトを取得するには、私のアーキテクチャで何を変更する必要がありますか(笑)?