公開されている場合var
、これを行うことができます:
$hello->var = $value;
$value = $hello->var;
通常、クラス メンバーに直接アクセスすることは望ましくありません。ゲッターとセッターを作成できます。
class hello{
private $var;
...
function getVar(){
return $var;
}
function setVar($value){
$var = $value;
}
}
次に、これを行うことができます:
$hello->getVar();
$hello->setVar($newVarValue);
PHP には、アクセスできないメンバーへのアクセスを許可するマジック関数__get() および __set()もあります。これは基本的に getter と setter と同じですが、メンバーごとに複数の関数を使用する代わりに、1 つの関数で済ませることができます (適切に維持されていないと、面倒になる可能性があります)。
したがって、クラスでこれを行うことができます:
class hello{
private $var;
...
function __get($name){
if($name == 'var')
return $var;
}
function __set($name, $value){
if($name == 'var')
$var = $value;
}
}
ただし、次のようにメンバーにアクセスできます。
$hello->var = $value;
$value = $hello->var;
$var
プライベートなのに。