我们应该使用多少if语句?

时间:2016-05-03 07:43:53

标签: php ajax coding-style

我有一个PHP文件ajax.php,我总是发送我的ajax。代码中有大约50个if语句。我总是将POST参数cmd传递给我的ajax.php文件并检查变量是否已设置并根据变量内容执行不同的代码。

我想知道是否应该将ajax.php拆分为多个文件以减少else if语句的数量并提高性能。但是我们建议使用多少else if,如果我们使用例如SELECT t1.`contract-id`, ( CASE WHEN t2.`contract-id` IS NULL THEN 0 ELSE COUNT(*) END ) AS counts FROM t1 LEFT JOIN t2 ON t1.`contract-id` = t2.`contract-id` WHERE MONTH(`contract-date`) = MONTH(CURDATE()) GROUP BY t2.`contract-id` ORDER BY t1.`contract-id`,`contract-date` ; ,它会对性能产生很大影响。 10000?

5 个答案:

答案 0 :(得分:1)

我不认为50或100个不同命令的性能会出现问题。但我建议使用开关案例和功能,如此

public class LoginAuthenticationSuccessHandler implements AuthenticationSuccessHandler {

    @EJB
    private UserDatabaseService userDatabaseService;

    @Inject
    private UserManagementBean userManagement;
}

如果您决定将其拆分为文件,它会更容易阅读并且更易于管理

答案 1 :(得分:1)

你可以在php中使用键值模式。使用后置参数作为键和其他作为s值的数组。 每当参数使用array_key_exist()来ajax.php检查密钥时 Array key valueArray

答案 2 :(得分:0)

我认为自己写10k elseif几乎是疯了,我宁愿破解我的头并找到一个有效的算法,或者改为使用switch语句。

顺便说一句,总是试着避免这种情况,如果是单个文件或1000个文件并不重要,处理时间总是一样的

答案 3 :(得分:0)

分离文件无法使性能受益,但人类可读且易于维护。

如果您的代码类似于:

if($_POST["cmd"]=="a"){
//case a
}else if($_POST["cmd"]=="a"){
//case b

为了提高性能,您可以将其更改为切换案例。 但是,如果语句优化始终不是性能关键的。

答案 4 :(得分:0)

PHP不会出现许多行的性能问题,但人们会这样做。也许你可以阅读代码,因为你现在还记得它。但是,如果你的某个人加入了你的团队,那么他将会迷失方向,因此可能不会加入。或者,如果您在一年后回到此脚本,您是否可以阅读,添加或删除某些内容?

每个脚本或类都可以做一件事或与一个实体一起工作。如何编写更好的代码有很多种方法。

single responsibilty principle

Object oriented Programming

还有更多