PHP 模块:如何 "connect" 文件用于 AJAX 请求
PHP modules: how to "connect" files for AJAX requests
假设我有这样的文件结构:
/
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实现的。所以,很明显,我不能直接在 backend_someSite.php 中使用这个 db-object,因为它是在 index.php[=32= 中声明和初始化的] -> 两个不同的范围,这些文件之间没有交互。
所以我现在的问题是:解决这个问题的最佳方法是什么?
我应该为每个子站点的每个 php 文件创建一个 PDO 吗?
并通过 PHP Session?
共享 index.php 收集的登录信息
基本上问题是:在 index.php 和 [=44 之间共享信息甚至整个 PDO 和其他对象的最佳方式是什么=](sub)Site.php 当前端通过 AJAX 查询子站点时。
不清楚 index.php 中还有什么。如果字面意思和你描述的一样,你可以在 backend_someSite.php
.
中 include
如果它有其他东西,例如输出到浏览器的任何东西,那么你应该制作一个只包含连接信息之类的文件(我建议称它为 config.php
),然后包括这个文件(在 index.php 和 backend_someSite.php 中)
也许您可以尝试将带有连接信息的代码放在一个单独的文件中,将其命名为 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
变量。
如果您想在不重复代码的情况下在脚本之间共享会话信息,您可以对会话检查执行相同的操作。
一切由你决定
假设我有这样的文件结构:
/
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实现的。所以,很明显,我不能直接在 backend_someSite.php 中使用这个 db-object,因为它是在 index.php[=32= 中声明和初始化的] -> 两个不同的范围,这些文件之间没有交互。
所以我现在的问题是:解决这个问题的最佳方法是什么?
我应该为每个子站点的每个 php 文件创建一个 PDO 吗? 并通过 PHP Session?
共享 index.php 收集的登录信息基本上问题是:在 index.php 和 [=44 之间共享信息甚至整个 PDO 和其他对象的最佳方式是什么=](sub)Site.php 当前端通过 AJAX 查询子站点时。
不清楚 index.php 中还有什么。如果字面意思和你描述的一样,你可以在 backend_someSite.php
.
include
如果它有其他东西,例如输出到浏览器的任何东西,那么你应该制作一个只包含连接信息之类的文件(我建议称它为 config.php
),然后包括这个文件(在 index.php 和 backend_someSite.php 中)
也许您可以尝试将带有连接信息的代码放在一个单独的文件中,将其命名为 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
变量。
如果您想在不重复代码的情况下在脚本之间共享会话信息,您可以对会话检查执行相同的操作。
一切由你决定