インスタンスを作成し、次の方法でそのメソッドを呼び出すことができます。
$newObj = new ClassName();
$newObj -> someMethod();
しかし、より短い表記、匿名インスタンスでそれを行う方法はありますか? 私はこれを試しました:
(new ClassName())->someMethod();
しかし、期待どおりに機能していないようです。
追加情報: 呼び出したいメソッドは公開されていますが、静的ではありません。
インスタンスを作成し、次の方法でそのメソッドを呼び出すことができます。
$newObj = new ClassName();
$newObj -> someMethod();
しかし、より短い表記、匿名インスタンスでそれを行う方法はありますか? 私はこれを試しました:
(new ClassName())->someMethod();
しかし、期待どおりに機能していないようです。
追加情報: 呼び出したいメソッドは公開されていますが、静的ではありません。
PHP 5.4 でサポートされています。
更新できない場合は、次のような回避策があります。
function yourclass($param) {
return new yourclass($param);
}
yourclass()->method();
コンストラクターがしなければならないことを忘れないでくださいreturn $this;
私が知っていることではありません。
だが!-シングルトンパターンを実装してから、次のコマンドを呼び出すことができます。
ClassName::getInstance()->someMethod();
または、短くするために;)
ClassName::gI()->someMethod();
someMethodが$thisを参照していない場合は、静的関数として定義されていませんが、単純に静的関数として呼び出すこともできます。
ClassName::someMethod();
メソッドが静的で、クラス変数に依存していない場合 (おそらく、整理する目的でクラスに配置した可能性があります)、phil が getInstance でデモを行っているように、単純に静的に呼び出すことができます。
ClassName::someMethod()