我有一個愚蠢的懷疑。
我的用戶類
設置的用戶名財產作爲私人使用,但根據規定私有財產不應該容易
在兒童類或繼承和類之外,但它在我的代碼發生 。我只想知道我做錯了什麼。PHP私有財產不應該訪問子類
<?php
class User{
private $username;
}
class UserRepository extends User{
public function get(){
return $this->username;
//this should give error can't access private property
}
public function set($username){
$this->username=$username;
//this should give error can't access private property
}
}
$UserReposetry =new UserRepository;
$UserReposetry->username='daulat';//this should give error.
echo $UserReposetry->username;//this should give error.
它不應該工作,但它的工作。
是的,那就是PHP。事實上,你不是訪問'User'類的私有'$ username',而是通過賦值'daulat'創建一個新的'public'(因爲沒有指定)'$ username'屬性。 – xzoert