いくつかの net.tutplus.com チュートリアルに基づいて、php で MVC パターンを使用して簡単なブログを作成しました。私はphpにかなり慣れていないので、これがどのように機能するかを理解するのを手伝ってください。
ここでは、いくつかの単純なファイルに分割しました。3 つのファイル、index.php、index.view.php、function.php 私が知りたいのは、index.view でアクセスできるようにするために、ビュー関数の 2 番目のパラメーターとして $data 配列を渡さなければならない理由です。 .php? ビュー関数の 2 番目のパラメーターとして $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');
}
ビュー関数の 2 番目のパラメーターとして $data 変数をドロップし、インデックス ファイル内でview('index', $data); を置き換えるたびに、ここで少し混乱しています。include('view.index.php'); を使用 $data 変数は、予想どおり index.php から index.view.php に渡されています。
しかし、$data パラメータを指定せずにビュー関数を元に戻すと、未定義の変数データが取得されます。ビュー関数はinclude('view.index.php');とまったく同じだと思いました。?
うまくいけば、これは理にかなっており、誰かが初心者に何が起こっているのかを説明できます。そうでなければ、これを少し言い換えてみてください.