3

関数型および手続き型言語としてphpを学びました。今すぐ目的指向の学習を開始しようとすると、重要な質問が得られます。

私はコードを持っています:

class car {

    function set_car($model) {
        $this->model = $model;
    }

    function check_model()
    {
        if($this->model == "Mercedes") echo "Good car";
    }

}

$mycar = new car;
$mycar->set_car("Mercedes");

echo $mycar->check_model();

$model の宣言なしで機能するのはなぜですか?

var $model;最初に?

PHPでは、変数の「自動宣言」が機能するためですか?私は立ち往生しています

4

6 に答える 6

4

PHP のすべてのオブジェクトは、宣言なしでメンバーを取得できます。

$mycar = new car;
$mycar->model = "Mercedes";
echo $mycar->check_model(); # Good car

これが PHP のデフォルトの動作です。それらは公開されています。マニュアルを参照してください。

于 2012-04-06T11:25:44.540 に答える
3

PHP クラスのメンバーはいつでも作成できます。このようにして、パブリック変数として扱われます。プライベート変数を宣言するには、それを宣言する必要があります。

于 2012-04-06T11:29:15.507 に答える
0

いいえ、$model が関数 set_car の引数だからです。引数は正確には変数ではありませんが、関数 (またはクラス メソッド) を呼び出すときに設定される変数または値へのプレースホルダー (参照) です。たとえば、set_car を呼び出すとき、$model は値 "Mercedes" を取ります。

于 2012-04-06T11:24:05.107 に答える