Не удалось передать переменные из контроллера для просмотраPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Не удалось передать переменные из контроллера для просмотра

Сообщение Anonymous »

Я пытаюсь передать значения из контроллера в представление в раскрывающееся меню. У меня есть код для работы без архитектуры MVC, но я не знаю, как передать данные из контроллера в представление в MVC. Поэтому я не знаю, как передать переменную в представление.
ReadCategories:
class ReadCategories {
private $db;
public function __construct($pdoConnection) {
$this->db = $pdoConnection;
}

public function getCategories() {
try {
$query = $this->db->prepare("SELECT * FROM categories");
$query->execute();
return $query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
error_log("Error fetching categories: " . $e->getMessage());
return [];
}
}


CategoryController:
class CategoryController {
private $readCategories;
public function __construct(ReadCategories $readCategories) {
$this->readCategories = $readCategories;
}

public function handleRequest() {
session_start();

if (!isset($_SESSION['username']) || empty($_SESSION['username'])) {
header("Location: /technique-db/app/MVC/View/LoginView.php");
exit();
}

$categories = $this->readCategories->getCategories();

include __DIR__ . '/../View/AddItemsView.php';
}


$pdoConnection = require __DIR__ . '/../Config/db.php'; // Include the database connection file and get the PDO connection

// Check if the database connection is a valid PDO instance
if (!$pdoConnection instanceof PDO) {
echo "Database connection failed.";
exit(); // Terminate the script if the database connection failed
}

$readCategories = new ReadCategories($pdoConnection);

// Route to CategoryController if requested
if (isset($_GET['action']) && $_GET['action'] === 'additems') {
$categoryController = new CategoryController($readCategories);
$categoryController->handleRequest();
exit();
}

// Create a new LoginUser object with the PDO connection
$loginUser = new LoginUser($pdoConnection);
// Create a new IndexController object with the LoginUser object
$indexController = new IndexController($loginUser);
// Handle the request
$indexController->handleRequest();


Подробнее здесь: https://stackoverflow.com/questions/784 ... er-to-view
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»