メソッドを呼び出した他のクラスのメソッド内のクラスのメソッドを、内部で使用するクラスの後に宣言されたクラスに呼び出すにはどうすればよいのでしょうか。例を示しましょう。
データベース.php:
class Database{
modifyUser($field,$change){
global $logging;
if($database->query('MYSQL QUERY')){
$logging->modifyUser($field,$change);
}
}
}
$database = new Database;
Logging.php:
class Logging{
modifyUser($field,$change){
global $database;
$database->query('Mysql Query for Logging');
}
}
$logging = new Logging;
今の問題は、次のようにインクルードファイルでトップクラスを使用する場合です:
user.php
include('database.php');
include('logging.php');
php は、まだクラスとして宣言されていない $logging 変数を使用するとエラーを表示します。そして、私がこのように変更した場合:
user.php
include('logging.php');
include('database.php');
同じエラーですが、$database; の場合です。PHPがシーケンスに対して競合しないという使い方がわかりません。