0

Codeignitors で HMVC コンポーネントを使用している間、このような特定のアクションをレンダリングできます

echo modules::run('site/news/view', 1);

ここで1、ビュー メソッドに送信されるパラメータです。

これで、関数に渡す必要があるパラメーターの配列ができました

$params = array(1, "latest", "desc"); //suppose this are the parameters I received dynamically some how and dont knows its length

ここで、これらのパラメーターを個別に次のように送信する必要があります

echo modules::run('site/news/view', 1, "latest", "desc");

この場合、他の機能と同様に機能しcall_user_func_array()ません(私は思います)。

4

2 に答える 2

1

まあ、既存の関数を必要に応じて機能させることはできません (変更しない限り)。THE FUNCTION ALREADY WORKSの方法でコーディングする必要があります。必要な方法で動作しない場合は、許可されている場合はソースを変更するか、必要に応じて独自のバージョンを作成するか、メイン クラスを拡張してください。

この質問には簡単に答えることができますが、今回も同じようにしてもらいたいと思います。以前にあなたの質問に回答し、あなたのプロフィールを見たところ、6 つの質問 (1 つが受け入れられました) 0 の回答があり、ほとんどの質問であなたの側からの入力はありません。自分では何もしていないようです。

あなたは仕事を成し遂げるためにこのコミュニティに頼っていますが、これは非常に不公平です。ですので、あなたの作品を見せていただけない限り、お答えすることは差し控えます。

于 2012-01-23T10:35:48.207 に答える
0

私は「seoフロントコントローラー」を作成し、(残酷に)同じ問題をこの方法で解決しました

if( count($params) == 2 ) {
    echo modules::run( 'controller/method', $params[0], $params[1] );
} else if( count($params) == 3 ) {
    echo modules::run( 'controller/method', $params[0], $params[1], $params[2] );
}
于 2012-11-20T10:17:44.807 に答える