我有一个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?
答案 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 value和
Array
答案 2 :(得分:0)
我认为自己写10k elseif几乎是疯了,我宁愿破解我的头并找到一个有效的算法,或者改为使用switch
语句。
答案 3 :(得分:0)
分离文件无法使性能受益,但人类可读且易于维护。
如果您的代码类似于:
if($_POST["cmd"]=="a"){
//case a
}else if($_POST["cmd"]=="a"){
//case b
为了提高性能,您可以将其更改为切换案例。 但是,如果语句优化始终不是性能关键的。
答案 4 :(得分:0)
PHP不会出现许多行的性能问题,但人们会这样做。也许你可以阅读代码,因为你现在还记得它。但是,如果你的某个人加入了你的团队,那么他将会迷失方向,因此可能不会加入。或者,如果您在一年后回到此脚本,您是否可以阅读,添加或删除某些内容?
每个脚本或类都可以做一件事或与一个实体一起工作。如何编写更好的代码有很多种方法。
single responsibilty principle
还有更多