私は PHP (KirbyCMS を使用) を使用しており、次のコードを作成できます。
$results = $site->filterBy('a_key', 'a_value')->filterBy('a_key2', 'a_value2');
こちらはチェーン2本付きfilterBy
です。できます。
ただし、このような関数呼び出しを動的に作成する必要があります。場合によっては、2 つの連鎖した関数呼び出しになることもあれば、3 つ以上になることもあります。
それはどのように行われますか?
多分あなたはこのコードで遊ぶことができますか?
chain は、1 ~ 5 個のチェーンを作成するために使用できる単なる乱数です。
for( $i = 0; $i < 10; $i ++ ) {
$chains = rand(1, 5);
}
望ましい結果の例
例 1、関数呼び出しは 1 つだけ
$results = $site->filterBy('a_key', 'a_value');
例 2、多くのネストされた関数呼び出し
$results = $site->filterBy('a_key', 'a_value')->filterBy('a_key2', 'a_value2')->filterBy('a_key3', 'a_value3')->filterBy('a_key4', 'a_value4')->filterBy('a_key5', 'a_value5')->filterBy('a_key6', 'a_value6');