我的应用程序中有一些关注/取消关注和阻止/取消阻止功能。它们工作正常,正确的数据填充我的数据库。这是我的逻辑概述:
if($this->user_is_followed) {
//show unfollow button
}else {
//show follow button
}
if($this->user_is_blocked) {
//show unblock button
}else {
//show block button
}
一个问题:我需要为这两种情况链接follow / unfollow和block / unblock函数:
1 - 如果用户关注某人,并点击了阻止按钮,则该用户应被阻止并取消关注(此时,该用户已被阻止,但未被取消关注)
2 - 如果用户阻止了某人,并点击了关注按钮,则该用户应该被关注并取消阻止(此时,用户会被关注,但不会被阻止)
我尝试使用-while-链接这两个函数,但没有任何显示,甚至没有错误,只是一个空白的屏幕:
这是我对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控件结构。是 - 还是其他什么?
答案 0 :(得分:1)
第一个是好的,取决于你是否可以同时跟踪和阻止。
由于看起来你正在为内联输出执行此操作,您可能只想将其压缩为三元组:
<?php echo ($this->user_is_followed ? 'unfollow button' : 'follow button'); ?>
如果你有广泛的标记,三元组会很糟糕,因为在php中回显html通常是一个愚蠢的想法。但是,如果您在类上使用类似jquery和侦听器的库,则可以在<a>
标记上分配“跟随”或“未跟随”类,然后根据css显示...希望这是有道理的。< / p>
答案 1 :(得分: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
}
唯一会发生的变化是控制你的follow,unfollow,block和unblock按钮。因为在显示按钮时没有需要进行的操作吗?所以这两个场景应该在单击按钮后发生,而不是在显示按钮时发生。我建议根据你想要发生的场景为你的follow,unfollo,block和unblock按钮创建函数。