我将直截了当。似乎无法在互联网上的任何地方找到它。也许这甚至不可能,我不知道。我真的很喜欢使用“分而治之”的方法,我自己创建的。尽可能多地拆分文件以便于管理(小文件等)。
但这是我的问题:
我有 5 个文件:
index.php
inc/config.php
inc/Database.class.php
inc/sidebar.php
inc/forms.php
好的,我所做的是:
在我的 config.php 文件中,我包含了 Database.class.php 文件并创建了一个对象。
include 'Database.class.php';
$user = "root";
$pass = "";
$host = "localhost";
$database = "blah blah";
$db = new Database($user, $pass, $host, $database);
$db->connect();
所以我在我的 index.php 文件中包含了这个 config.php 和 sidebar.php。
(缩短了代码,但功能相同)
include 'inc/config.php';
include 'inc/sidebar.php';
在我的侧边栏中,我有一个表单,供用户登录。
在sidebar.php中我只包含forms.php,这是forms.php:(我使用print_r调试我的文件,看看是否有任何返回,我省略了方法loginFormShow,因为它很长而且不相关)
function loginFormProcess($user, $pass)
{
$db->select(blah blah some variables);
$res = $db->getResult();
print_r($res);
}
if (!isset($_POST['submit'])) {
loginFormShow();
} else {
if ($_POST['user'] == "")
{
loginFormShow(1);
}
else if ($_POST['pass'] == "")
{
loginFormShow(2);
}
else
{
$user = $_POST['user'];
$pass = $_POST['pass'];
loginFormProcess($user, $pass);
}
}
因此,问题是什么。当我尝试调用函数 loginFormProcess 时,它不能使用对象 $db。
我可以为此使用 1 个对象吗?因为在索引页面上,我将需要数据库中的一些其他数据。我是否需要为索引页面创建一个对象并为登录表单创建一个对象?
还有其他解决方案吗?如果我不清楚,我很乐意提供更多解释。
干杯,
克莱门茨