バージョン選択

フォーラム

メニュー

オンライン状況

58 人のユーザが現在オンラインです。 (49 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 58
もっと...

サイト内検索

質問 > その他 > 共通クラス内で「フロント機能」 or 「管理機能」の判定

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
nanasess
投稿日時: 2009/5/9 10:02
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: 共通クラス内での「フロント機能」 or 「管理機能」判定
ramrun さん,

引用:

ramrunさんは書きました:
動作確認しました。
Helper_Mailがnot foundになるから「なんだよコノヤロー」とか思いましたが、その上のリスナーに対するコメント行が閉じてなかったのが原因でしたw


ありがとうございます.
全く動かしてなかったのがバレバレですね(汗)
修正しておきました.

引用:

こういうデザインパターン?の類は知らない(自分のレベル的に)ので非常に参考になります。
errorListenerがオーバーライドされていくのはカッコイイですね。

引用:
はずしていたりして, 使えなかったらゴメンナサイ...
多分はずしていないと思います。


良かったです!

引用:

ところでひとつ気になったんですが、
$result = new Send_Mail_Result_Hoge();

の$resultが参照で渡されていきますが、たとえば
class Helper_Mail {

  /**
   * @param LC_Results $result 結果クラス
   */
  function sendOrder(&$result = "") {
    $objMail = new Send_Mail;
    
    $objMail->sendMail($result);
    if ($result->has_error) {
      // some logic...
    }
  }
}

はいいとして、
class Helper_Mail {

  /**
   * @param LC_Results $result 結果クラス
   */
  function sendOrder(&$result = "") {
    $objMail = new Send_Mail;
    
    $result = new Send_Mail_Result;
    $objMail->sendMail($result);
    if ($result->has_error) {
      // some logic...
    }
  }
}

みたいなのはおかしいですよね?
変なことを聞いてるようでしたらごめんなさい(汗)。



後者の例だと, sendOrder() 関数を使おうとしている人が $result を渡しても, 内部で上書きされてしまい, 想定通りの挙動にならないと思います.

今回は, できるだけ既存の関数の挙動を変えないことを念頭にしたので引数の参照渡しにしていますが, 本来なら「結果」を返すためのクラスなので関数の返り値にしてしまった方がわかりやすそうです.

phpDoc コメントも


@return LC_Results ○○処理の結果.


と書けてコードの見通しも良くなりそうです.

とり急ぎですが動作確認のお礼まで.
ありがとうございました!
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/4/30 13:15
     Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 kishik 2009/4/30 14:27
       Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/4/30 15:01
         Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 kishik 2009/4/30 15:24
           Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/4/30 15:36
             Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 tao_s 2009/4/30 23:19
               Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/4/30 23:22
                 Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/4/30 23:27
                 Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 tao_s 2009/4/30 23:32
                   Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/4/30 23:43
                     Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 tao_s 2009/5/1 1:24
                       Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/1 1:56
                         Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 tao_s 2009/5/1 2:26
                           Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 ramrun 2009/5/1 21:45
                             Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/1 21:54
                               Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 ramrun 2009/5/1 22:06
                                 Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/1 22:38
                                   Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 ramrun 2009/5/2 1:24
                                     Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 nanasess 2009/5/2 8:57
                                       Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/2 11:08
                                         Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 nanasess 2009/5/2 12:51
                                           Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/2 15:47
                                             Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 ramrun 2009/5/4 1:09
                                               Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/6 12:09
                                                 Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 ramrun 2009/5/7 0:54
                                                   Re: 共通クラス内での「フロント機能」 or 「管理機能」判定 seasoft 2009/5/7 20:08
                                                     Re: 共通クラス内での「フロント機能」 or 「管理機能」判定 nanasess 2009/5/8 22:47
                                                       Re: 共通クラス内での「フロント機能」 or 「管理機能」判定 ramrun 2009/5/9 9:35
                                                       » Re: 共通クラス内での「フロント機能」 or 「管理機能」判定 nanasess 2009/5/9 10:02
                                                           Re: 共通クラス内での「フロント機能」 or 「管理機能」判定 seasoft 2009/5/9 10:54
                                                             Re: 共通クラス内での「フロント機能」 or 「管理機能」判定 ramrun 2009/5/9 14:05
                                     Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/5/2 10:50
                                 Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定 seasoft 2009/9/7 19:27

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,972名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.