これで本題に入ります。インターネット上のどこにも見つからないようです。多分それは不可能です、私は知りません。私は自分で作成した「分割してルール化する」方法を使用するのが本当に好きです。管理しやすいようにできるだけ多くのファイルを分割します (小さなファイルなど)。
しかし、ここに私の問題があります:
私は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();
そこで、この config.php と sidebar.php を index.php ファイルに含めました。
(コードを短くしましたが、同じように機能します)
include 'inc/config.php';
include 'inc/sidebar.php';
私のサイドバーには、ユーザーがログインするためのフォームがあります。
これはforms.phpです:
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つのオブジェクトを使用できますか? インデックス ページでは、データベースから他のデータが必要になるためです。インデックス ページ用のオブジェクトとログイン フォーム用のオブジェクトを作成する必要がありますか?
他の解決策はありますか?よくわからない場合は、もう少し説明をしたいと思います。
乾杯、
クレメンツ