0
親クラス内の変数に正しくアクセスする方法が混乱しています。これは子クラス内で設定されています。phpのクラスと拡張、可変スコープの混乱
は、我々は($ユーザとして)親クラスを持っていると言う:
class user
{
public $details = [];
}
($のログインなど)子クラス:
class login extends user
{
function do_login()
{
// something before here to grab their details from the DB
$this->details = $grabbed_user_details;
}
}
その後、私はやって期待していたすべてのものを呼び出すスクリプトに
$user = new user();
$login = new login();
$login->do_login();
$user->details['username'];
ただし、「詳細」は空であるようです。私はこれについて完全に間違った方法を行っていますか?私はまだ範囲を理解しているとは思わない。
あなたは、$ user' 'ではなく' $のlogin'には何も保存されていません。 '$ login-> details ['username']' – LKKP4ThX
を試してみてください。私は混乱しています。ユーザークラスを拡張するのでログインクラスで設定すると思っていました。 – NaughtySquid
いいえ、ログインはログインクラスに加えたユーザーに加えて拡張です。 – LKKP4ThX