0

誰かが私に説明し、一緒に動作する静的クラスと非静的クラスの例をいくつか作ることができますか?

お気に入り:

App::MySQL()->insert();

App::User()->name;

ウェブ上で何も見つかりません。

ありがとう

4

2 に答える 2

0

最初の部分 (App::MySQL()、App::User() など) は、シングルトン インスタンスを返すためにクラスの静的メソッドを呼び出しています (つまり、そのクラスのインスタンスが存在する場合はそれを返し、そうでない場合は新しいインスタンスを作成します)。 1 つを返します)、これにより、そのクラスのインスタンスが最大で 1 つになることが保証されます。次に、そのメソッドを呼び出すか、そのプロパティを取得します (2 番目の部分: ->insert()、->name)

于 2013-10-05T17:46:14.280 に答える
0
<?php

class App {

    public static function MySQL() {
        return new MySQL();
    }
}

class MySQL {

    public function insert() {
        echo "inserting some stuff\n";
    }

}


App::MySQL()->insert();

与える

ivo@atmycomputer ~$ php test.php 
inserting some stuff
ivo@atmycomputer ~$ 
于 2013-10-05T17:48:08.033 に答える