質問: juserhelper :: getprofile($ userid);警告の技術的な性質は理解していますが、getprofileはstaticとして宣言されていないため、juserhelperは抽象的であるため、インスタンス化できません。奇妙なことに、クラス内の他のすべてのメソッドはstaticとして定義されています。 3.xと同様に、2.5ではバグのように見えますが、署名は異なります。では、プロファイルを取得する適切な方法は何ですか?
回答: これはバグで、静的がありません http://prntscr.com/3hl3t1 静的インプレースプリント$userprofile = juserhelper::getprofile(42); print_r( $userprofile ); 戻り値 http://prntscr.com/3hl3x7 とりあえず、関数をコピーして、このように使用できますfunction mygetprofile($userid = 0) { if ($userid == 0) { $user = jfactory::getuser(); $userid = $user->id; } // get the dispatcher and load the user's plugins. $dispatcher = jdispatcher::getinstance(); jpluginhelper::importplugin('user'); $data = new jobject; $data->id = $userid; // trigger the data preparation event. $dispatcher->trigger('oncontentpreparedata', array('com_users.profile', &$data)); return $data; } $userprofile = mygetprofile(42); print_r( $userprofile );