gpt4 book ai didi

php - PHP中的简单 View 函数

转载 作者:行者123 更新时间:2023-12-02 01:12:42 24 4
gpt4 key购买 nike

我根据一些 net.tutplus.com 教程在 php 中使用 MVC 模式创建了一个简单的博客。虽然我对 PHP 很陌生,所以请帮助我理解它是如何工作的。

我在这里将其分解为几个简单的文件。 3 个文件,index.php、index.view.php 和 function.php 我想知道的是为什么我必须将我的 $data 数组作为 View 函数中的第二个参数传递才能在我的 index.view 上访问它.php?如果我将 $data 作为我的 View 函数的第二个参数,我会得到 undefined variable ,并且无法访问我的 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');
}

我在这里有点困惑,因为每当我从我的 View 函数中删除 $data 变量作为第二个参数并在我的索引文件中替换 view('index', $data); 为 < strong>include('view.index.php'); $data 变量正像预期的那样从 index.php 传递到 index.view.php。

但是当我在没有 $data 参数的情况下放回 View 函数时,我得到了 undefined variable 数据。我认为我的 View 函数与 include('view.index.php');?

完全一样

希望这是有道理的,有人可以向菜鸟解释发生了什么,否则我会尝试稍微改一下。

最佳答案

将包含视为复制和粘贴调用包含的代码主体。

如果您复制并粘贴所有包含和要求所在的代码主体,您会得到:

function view($path, $data) {
foreach($data as $item) {
echo $item;
}
}
$data = array('item0', 'item1', 'item3');
view('index', $data);

该代码应该可以工作,但是如果您从 view() 函数中删除 $data 参数,您会得到一些不同的东西:

function view($path) {
// $data doesn't exist here, not local to the function.
// The foreach() loop therefore is trying to access $data variable which doesn't exist.
foreach($data as $item) {
echo $item;
}
}
$data = array('item0', 'item1', 'item3');
view('index');

关于php - PHP中的简单 View 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15467034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com