-
ID:ZDEM1T さんの質問

phpのクラスを拡張する方法がわかりません。
例えば既存のクラスmysqliにhoge()メソッドを追加したいときはどのように記述すれば良いのでしょう?

みんなの回答 1 件

ID:SxY4dV さんの回答

Extendsできないの?

ID:ZDEM1T

なるべく継承せずに
//stackoverflow.com/questions/2938004/how-to-add-a-new-method-to-a-php-object-on-the-fly
これみたいにスマートに書きたいのですが、なぜか
Parse error: syntax error, unexpected T_FUNCTION
ってでるんですよね
$foo->bar = function () { echo "Hello, this function is added at runtime"; };
の行で。

ID:ZDEM1T

すみません、phpのバージョンの問題でした。
しかし
Cannot redeclare class mysqli とでてしまいます。
やはりextendsするしかないのでしょうか...

ID:SxY4dV

なるべく継承したくない理由がなんなのかわからないけど、運用やメンテ視野に入れて継承以上にスマートな方法なんてあるの?

ID:ZDEM1T

はにゃ〜ん

最終更新日:2014-02-04 (1,832 views)

関連するトピックス

ページ上部に戻る