php – 陷入困境,需要帮助突破到一个新的水平

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 陷入困境,需要帮助突破到一个新的水平脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在一个简陋的网站上工作,我的平庸,自学成才的 PHP技能,目前的界面结构是这样的:
<?PHP
  if (A) {
    $output = someFunc(A);
  } else if (B) {
    $output = anotherFunc(B);
  } else if (C) {
    $output = yetAnotherFunc(C);
  } else {
    $output = 'default stuff';
  }
?>
<htML template top half>

<?PHP echo $output; ?>

</html template bottom half>

这起初工作正常,看起来非常有条理,但所需的功能增加了10倍,并且很快变成了一个难以维护,令人尴尬的混乱,我不知道如何摆脱它.

觉得为每种情况调用函数都写得很好并且集中精力,但是如何处理用户和创建布局的函数间的中间步骤以及处理返回时,我感到很茫然.

我觉得MVC是一个解决方案吗?但是我很难掌握如何从这里到那里……

对于上述代码可能引发的任何令人头疼或令人不快的回忆,我深表歉意.感谢您的时间.

你似乎已经开始了许多人的工作方式,一个持续增长的大型if和/或case语句.所有那些“如果”检查都需要时间. MVC绝对是一个很好的方法,但有很多方法可以实现它.我建议还要寻找通常与MVC一起使用的Front Controller设计模式.

改变工作方式的一种方法是使用关联数组切换到定义的“动作”列表.并将您的功能改为包含.然后你可以有多个函数,变量和其他处理代码.

$actions = array(
'A'=>'action1.PHP','B'=>'action2.PHP','C'=>'action3.PHP','default'=>'action_default.PHP'
);
if ( isset( $actions[ $_GET['action'] ] ) ) {
    include( $actions[ $_GET['action'] ] );
} else {
    include( $actions['default'] );
}

那么你的“索引”文件只是一个路由工具,它几乎就是前端控制器的概念.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 陷入困境,需要帮助突破到一个新的水平全部内容,希望文章能够帮你解决php – 陷入困境,需要帮助突破到一个新的水平所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。