私は以下のコードを持っています。値を投稿するたびに配列に追加されません。それは、私が掲示した値だけを持つ新しい配列を作成するようなものです。PHP MVC投稿に投稿する
<?php
class Model
{
public $task;
public function __construct()
{
$this->task = array();
}
}
class Controller
{
public $model;
public function __construct(Model $model)
{
$this->model = $model;
}
public function addTask($taskToAdd)
{
array_push($this->model->task, $taskToAdd);
}
}
class View
{
public $model;
public $controller;
public function __construct(Controller $controller, Model $model)
{
$this->controller = $controller;
$this->model = $model;
}
public function drawScreen()
{
$htmlForm = "<!doctype HTML>";
$htmlForm = $htmlForm . "<html><head><title>php form test</title></head>";
$htmlForm = $htmlForm . "<body>";
$htmlForm = $htmlForm . "<form method='POST' action='index.php'>";
$htmlForm = $htmlForm . "<input type='text' name='newtask' />";
$htmlForm = $htmlForm . "<input type='submit' value='Add new task' />";
$htmlForm = $htmlForm . "</form></body></html>";
echo $htmlForm;
}
public function listTasks()
{
print_r($this->model->task);
}
}
$model = new Model();
$controller = new Controller($model);
$view = new View($controller, $model);
if (isset($_POST['newtask'])) {
$taskToAdd = $_POST['newtask'];
$controller->addTask($taskToAdd);
}
echo $view->drawScreen();
echo $view->listTasks();
私がここで間違っているのは本当にわかりません。 array_pushは正しい方法ではありませんか?私はそれが何か違いがあればxamppを使用しています。私が間違っていることは何ですか?
モデルをデータベースに保存し、毎回そこからロードする必要があります。あなたのPHPコードは何度も何度もスクリプトをコンパイルして、毎回あなたのモデルを破壊するからです。コンピュータのように考えてみてください。もしあなたがこれらの指示を受けたらどうしますか? – Black