Я пытаюсь распечатать свойство из экземпляра конструктора php в li
в моем файле index.view. Когда я запускаю программу, она печатает правильное количество точек маркера, но без строк. Я проверил, что массив содержит данные. У кого-нибудь есть предложения, как это исправить?
Index.view
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ToDo List</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="box flex">
<div class="todo">
<h2 id="title">ToDo List</h2>
<form method="post" action="index.php" class="input_form">
<input type="text" name="task" class="task_input" placeholder="What needs to happen?" size="50">
<button type="button" name="submit" id="add_btn" class="btn btn-primary">Add Task</button></form>
</div>
<ul>
<?php foreach ($tasks as $task) : ?>
<li><?= echo $task->description; ?></li>
<?php endforeach; ?>
</ul>
</div>
</body>
</html>
Конструктор
<?php
class Task {
public $description;
public $completed = false;
public function __construct($description) {
$this->$description = $description;
}
public function complete() {
$this->completed = true;
}
public function isComplete() {
return $this->completed;
}
}
$tasks = [new Task("Go to the store"),
new Task("Lunch with Dave"),
new Task("Make bread"),
new Task("Buy duvet")];
require "index.view.php";
?>