-6

クラス内の変数を別のファイルの例に呼び出すにはどうすればよいですか?

Controller.php

<?php 
    class hello {
        public $var = 1;

        public function a(){
            ......
        }

        public function b(){
            .....
        }
    }
?>

Index.php

<?php
    $hello = new hello;
    //how to call the $var ? HERE
?>
4

2 に答える 2

5

ちょうどこのような:

$hello->var = 2

または、値を取得するには:

$val = $hello->var;
于 2012-05-22T17:02:44.150 に答える
3

公開されている場合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プライベートなのに。

于 2012-05-22T17:27:44.217 に答える