0

私はRESTfulに取り組んでおり、ユーザーに返すためのメッセージ収集に固執しています。基本的に、選択したオプションに応じて、いくつかのクラスが動的に含まれます。現実世界の内訳を提供しようとします。HTML-email-tempalte maker があります - 選択したテンプレートに応じて、php スクリプトが含まれます。このスクリプトには警告が含まれている可能性があり、API が警告を報告できるように、警告を「上流」に渡す必要があります。だから私たちはこのようなものを持っています ( -> = includes )

API -> HTMLGenerator -> (動的に) template-script.php

API がエラーを API ユーザーに報告できるように、エラーを API コントローラーに報告できるようにするには、テンプレート スクリプトが必要です。これを達成するための最良の方法/プラクティスがわからない。

これまでのところ、私の考えはおそらく、テンプレートスクリプトがメッセージを追加できるシングルトンまたはセッション変数であり、API コントローラーはそれらを報告できます。何かご意見は?

メイン API

/v1/html への POST による REST 作成は基本的に次のとおりです。

class API {
   require($dynamic_script);
   $errors = array('warnings'=>array('warning1',waring2'));
   //set http header and return JSON
}

HTMLジェネレーター

class HTMLGenerator {
//basically some wrappers for junior / non-programmers 
  function addHeading($text) {
    //Add a header and do some checks. 
    if(strlen($text) > $warnTooLong )
       HTMLErrors::addWarning("Message");

  }
}

動的スクリプト

$h = new HTMLGenerator();
$h->addHeader($text);
$h->addImage($imageUrl);
4

2 に答える 2

0

グローバルオブジェクト、set_error_handler も機能しますが、これらは単なるハックです。最もクリーンなオプションは、アプリの要素を変更して、本来の動作を行うようにすることです。つまり、これらのメッセージを返します。

これらを行うのはそれほど難しいことではありません:

function myOldFunction($param1, $param2)
{
  // do something
}

このように変更します:

function myOldFunction($param1, $param2, array &$messages = array())
{
  // do something
  $messages[] = 'hey mama, i\'m on stack overflow!';
}

利用方法:

$messages = array();
myOldFunction(1, 2, $messages);
print_r($messages);
于 2013-07-29T22:08:04.750 に答える