バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
ramrun
投稿日時: 2009/5/4 1:09
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 共通クラス内で「フロント機能」 or 「管理機能」の判定
ヌシが釣れてましたw

私は大したことできませんがそれなりに古株?なので、「かくあるべき」みたいな形があるのは理解しているつもりなんですが...
具体的にどうこういえ...ないんですよね(汗)。
考えた人に出てきてもらえて、ほっとしているところですw

で、なにも考えないのもアレなので、set_error_handlerを使って考えてみました。
SingletonのErrorHandlerにエラーを放り込んでおいて、LC_Pageで表示する... みたいなサンプル?のつもりです(汗)。

<?php
class ErrorHandler {
  var $list = array();
  
  function &getInstance() {
    static $eh;
    if($eh == null) {
      $eh = new ErrorHandler();
    }
    return $eh;
  }
  
  function set($errno, $errstr, $errfile, $errline)
  {
    switch($errno) {
    case E_USER_ERROR :
      $this->list[] = "User error: [$errno] $errstr in $errfile on line $errline";
      break;
    default :
      echo "Other error: [$errno] $errstr in $errfile on line $errline <br />\n";
    }
  }
  
  function get() {
    return array_pop($this->list);
  }
  
  function isError() {
    return !empty($this->list);
  }
}

/* ================================================= */

class Helper_Mail {
  function sendOrder() {
    $obj = new Send_Mail_Ex;
    $obj->sendMail();
    $var = $var; // error line 39
  }
}

class Send_Mail_Ex extends Send_Mail{
  function Send_Mail_Ex() {
    parent::Send_Mail();
  }
}

class Send_Mail {
  function Send_Mail() {}
  function sendMail() {
    $err = true;
    if($err) trigger_error('class Send_Mail の method sendMail() で error', E_USER_ERROR); // error line 53
  }
}

/* ================================================= */

$objErr1 =& ErrorHandler::getInstance();
if(version_compare(phpversion(), '5.0.0', '>=')) {
  set_error_handler(array($objErr1, 'set'), E_ALL);
} else {
  set_error_handler(array($objErr1, 'set'));
}

trigger_error("とりあえずエラー", E_USER_ERROR); // error line 66

$c = new Helper_Mail;
$c->sendOrder();

$buf = 1 / 0; // error line 71

$objErr2 =& ErrorHandler::getInstance();
print "<pre>";
print_r($objErr2->list);
print "</pre>\n";

$objErr3 =& ErrorHandler::getInstance();
while(1) {
  if(!$objErr3->isError()) {
    echo 'エラーリストは空です';
    break;
  }
  echo $objErr3->get() . "<br />\n";
}

?>
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   共通クラス内で「フロント機能」 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,973名です
総投稿数は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.