jquery — модули PHP: как & quot; подключить & quot; файлы для запросов AJAX

Если у меня есть структура файла как это:

/
index.php                   // holds db connection, login information, ...
...
/someSubSite
content_someSite.html   // basic structure, texts, forms, ...
styles_someSite.css     // styling of content_someSite.html
backend_someSite.php    // should send answers of AJAX requests
frontend_someSite.js    // sends AJAX requests
// (when a form is submitted)
...

Соединение дб в index.php реализуется через PDO. Так что, очевидно, я не могу напрямую использовать этот db-объект в backend_someSite.php потому что он объявлен и инициализирован в index.php -> Две разные области, нет взаимодействия между этими файлами.

Итак, мой вопрос сейчас: как лучше всего решить эту проблему?

Должен ли я просто создать PDO для каждого php-файла для каждого подузла?
И поделиться информацией для входа в систему, собранной index.php через сессию PHP?

В основном вопрос заключается в следующем: каков наилучший способ обмена информацией или даже целым PDO и другими объектами между index.php а также backend_some (суб) Site.php когда дочерние сайты запрашиваются через AJAX через внешний интерфейс.

0

Решение

Непонятно, что еще есть в index.php. Если это буквально так, как вы описали, вы можете include это внутри backend_someSite.php,

Если в нем есть что-то другое, например, что-то, что выводится в браузер, то вы должны создать файл, содержащий ТОЛЬКО такие вещи, как информация о соединении (я бы предложил вызвать его config.php) и затем включите этот файл (как в index.php, так и в backend_someSite.php)

1

Другие решения

Может быть, вы можете попробовать поместить код с информацией о соединении в отдельный файл, вызвав его connection.php

<?php

try {
$connection = new PDO('db_driver:host=myhost;dbname=db_name', 'username', 'password');
} catch (PDOException $e) {
die(print ("Error!: " . $e->getMessage()));
}
?>

это всего лишь пример. Тогда ты можешь include файл в каждом другом .php который должен подключиться к базе данных и использовать $connection Переменная там.

вы можете сделать то же самое с проверкой сеанса, если хотите обмениваться информацией о сеансе между сценариями без дублирования кода.

все зависит от вас

1

По вопросам рекламы [email protected]