我根据一些 net.tutplus.com 教程在 php 中使用 MVC 模式制作了一个简单的博客。不过,我对 php 很陌生,所以请帮助我了解它是如何工作的。
我在这里把它分解成几个简单的文件。3 个文件,index.php、index.view.php 和 function.php 我想知道的是为什么我必须将我的 $data 数组作为视图函数中的第二个参数传递才能在我的 index.view 上访问它.php?如果我将 $data 作为视图函数中的第二个参数删除,我会得到未定义的变量,并且无法在我的 index.view.php 页面上访问 $data。
索引.php
<?php
require('function.php');
$data = array('item0', 'item1', 'item3');
view('index', $data);
index.view.php
<?php
foreach($data as $item) {
echo $item;
}
?>
函数.php
function view($path, $data) {
include($path . '.view.php');
}
我在这里有点困惑,因为每当我从视图函数中删除 $data 变量作为第二个参数并在我的索引文件中替换view('index', $data); 包含('view.index.php');$data 变量正像预期的那样从 index.php 传递到 index.view.php。
但是当我在没有 $data 参数的情况下放回视图函数时,我得到了未定义的变量数据。我认为我的视图函数与include('view.index.php');完全相同。?
希望这是有道理的,有人可以向菜鸟解释发生了什么,否则我会尝试改写一下。