0

アプリには、フォロー/フォロー解除およびブロック/ブロック解除機能がいくつかあります。それらは正常に機能し、正しいデータがデータベースに入力されています。これが私のロジックの概要です。

if($this->user_is_followed) {
    //show unfollow button
}else {     
    //show follow button

}

if($this->user_is_blocked) {    
    //show unblock button
}else {
    //show block button
}

1 つの問題: 次の 2 つのシナリオでは、フォロー/フォロー解除機能とブロック/ブロック解除機能をリンクする必要があります。

1 - ユーザーが誰かをフォローしているときにブロック ボタンをクリックすると、そのユーザーはブロックされ、フォローが解除されます (現在、ユーザーはブロックされていますが、フォローは解除されていません)。

2 - ユーザーが誰かをブロックしているときにフォロー ボタンをクリックした場合、そのユーザーをフォローしてブロックを解除する必要があります (現在、ユーザーはフォローされていますが、ブロックは解除されていません)。

-while- を使用して 2 つの関数をリンクしようとしましたが、何も表示されず、エラーも表示されず、空白の画面が表示されます。

while ロジックでの私の試みは次のとおりです。

    if($this->user_is_followed) {
        while($this->user_is_blocked) {
            //show unfollow button
        }
    }       
    else if($this->user_is_blocked) {
        while($this->user_is_followed) {        
        //show follow button 
        }       
    }

簡単に言えば、これに使用できるphp制御構造を見つけようとしています。それは -while- ですか、それとも何か他のものですか?

4

2 に答える 2

1

最初のものは、フォローとブロックを同時にできるかどうかに応じて問題ありません。

インライン出力に対してこれを行っているように見えるため、3 進数に要約することをお勧めします。

<?php echo ($this->user_is_followed ? 'unfollow button' : 'follow button'); ?>

php で html をエコーすることは一般にばかげた考えであるため、広範なマークアップがある場合、三項は悪いでしょう。しかし、クラスでjqueryやリスナーなどのライブラリを使用している場合は、タグに「フォローされている」または「フォローされていない」クラスを割り当てることができ、<a>cssに従って表示できます...それが理にかなっていることを願っています.

于 2012-10-25T01:46:12.287 に答える
0

以前のロジックの概要に問題はありません。

if($this->user_is_followed {
    //show unfollow button
}
else {      
    //show follow button
}
if($this->user_is_blocked) {    
    //show unblock button
}
else {
    //show block button
}

発生する唯一の変更は、フォロー、フォロー解除、ブロック、ブロック解除ボタンの制御です。ボタンを表示する際に必要なアクションがないためですよね? したがって、これらの 2 つのシナリオは、ボタンが表示されたときではなく、ボタンがクリックされた後に発生する必要があります。発生させたいシナリオに基づいて、フォロー、フォロー解除、ブロック、およびブロック解除ボタンの機能を作成することをお勧めします。

于 2012-10-25T01:48:24.747 に答える