PHP MVC 在发布时添加到数组

标签 php arrays model-view-controller

我有下面的代码,每当我发布一个值时,它都不会将它添加到数组中。这就像它创建了一个只有我发布的值的新数组。

<?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 脚本的新执行。 所以 - 你的数组 - 与上次的数组不同。

做你想做的 - 你可以使用 Session例如。

关于PHP MVC 在发布时添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44090529/

相关文章:

asp.net-mvc-3 - 使用 Html.TextBoxFor 时,将模型名称作为前缀添加到 id

php - 为什么这个 PDO 语句会默默地失败?

php - 如何迭代具有动态子节点的 XML 元素节点

PHP:如何以月+天计算人的年龄?

javascript - 从数组映射返回对象

c - C : segmentation fault 中的 sizeof(数组)

找不到 PHP 7 DOMDocument

javascript - 连接数组值

java - Spring的contextConfigLocation xml和Controller类是如何连接的?

java - Jooq模型生成中的字符集问题