如何在PHP中处理多元化
发布时间:2020-12-13 16:04:35 所属栏目:PHP教程 来源:网络整理
导读:我有一个应用程序,可能是一个API,我正在努力.应用程序以 JSON格式返回所请求的资源.所以我有一个项目管理应用程序,其结构类似于下面的内容: 项目 付款 问题 讨论 用户 现在API将调用: /projects List all the projects/project List all the projects (ali
我有一个应用程序,可能是一个API,我正在努力.应用程序以
JSON格式返回所请求的资源.所以我有一个项目管理应用程序,其结构类似于下面的内容:
>项目 >付款 >讨论 >用户 现在API将调用: /projects List all the projects /project List all the projects (alias) /projects/ID/issues List all the issues of this project /project/ID/issues List all the issues of this project (alias) /projects/ID/issue List all the issues of this project (alias) /project/ID/issue List all the issues of this project (alias) 等等.现在我的问题是,我将使用switch($request)这个,我有如下的疯狂案例陈述: <?php switch ($request) { case '/projects': case '/project': # code... break; case '/projects/ID/issues': case '/project/ID/issues': case '/projects/ID/issue': case '/project/ID/issue': # code... break; } 我希望你能理解这个问题.考虑讨论部分的案例数量.它将呈指数级增长.这将通过3个值的组合来实现,这将是2到3(23)的幂,它来自8个案例陈述. 有减少这种情况的最佳方法吗?这是我第一次进入Stack Overflow.提前致谢. 解决方法
您可以通过检查第一次尝试来减少它.即,检查复数形式或单数形式,并用一个单一形式替换它.
<?php $request = replace(array("projects","project"),"project",$request); $request = replace(array("issues","issue"),"issue",$request); $request = replace(array("users","user"),"user",$request); $request = replace(array("discussions","discussion"),"discussion",$request); 然后检查switch()案例中的单数形式: <?php switch ($request) { case '/project': # code... break; case '/project/ID/issue': # code... break; } 我知道这将是一个重复的任务,但我想如果你不想使用任何复数方法,这是更好的.希望这个“快速黑客”是有帮助的.由于您没有超过三个或四个变量,因此这更好.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |