Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как лучше писать код?
Форумы портала PHP.SU » » Вопросы новичков » Как лучше писать код?

Страниц (1): [1]
 

1. event - 10 Марта, 2012 - 22:18:29 - перейти к сообщению
Привет, какой из ниже наведенных вариантов лучше, первый или второй?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. # ... 1 вариант ... #
  4.  
  5. $action = $_GET["action"];
  6.  
  7. if ($action == 'one'){
  8.        
  9. # ... тут какой-то код ... #
  10.        
  11. }
  12.  
  13. if ($action == 'two'){
  14.  
  15. # ... тут какой-то код ... #
  16.  
  17. }
  18.  
  19. elseif ($action == 'three'){
  20.        
  21. # ... тут какой-то код ... #
  22.  
  23. }
  24.  
  25. ?>
  26.  
  27.  
  28. <?PHP
  29.  
  30. # ... 2 вариант ... #
  31.  
  32. $action = $_GET['action'];
  33.  
  34. switch ($action){
  35.        
  36. case "one":
  37.  
  38. # ... тут какой-то код ... #
  39.                
  40. break;
  41.        
  42.         switch ($action){
  43.        
  44. case "two":
  45.  
  46. # ... тут какой-то код ... #
  47.                
  48. break;
  49.  
  50. switch ($action){
  51.        
  52. case "three":
  53.  
  54. # ... тут какой-то код ... #
  55.                
  56. break;
  57.  
  58. }
  59.  
  60.  
  61. ?>
2. LIME - 10 Марта, 2012 - 22:23:16 - перейти к сообщению
не принципиально
кому как нравится
если внутри пункта много кода то от свитча толку мало
он только читаемость повышает
3. event - 10 Марта, 2012 - 22:28:49 - перейти к сообщению
А почему толку мало, если кода в свитче много?)
4. LIME - 10 Марта, 2012 - 22:32:38 - перейти к сообщению
потому-что всеравно листать придется
удобства не прибавится
5. event - 10 Марта, 2012 - 22:37:21 - перейти к сообщению
ясн, получается, + только в читаемости?
6. Okula - 10 Марта, 2012 - 22:50:41 - перейти к сообщению
В таких ситуациях предпочитаю использовать конструкцию switch.
Я нашёл + в том что не нужно дополнительно в фигурные скобки обрамлять.
7. DelphinPRO - 10 Марта, 2012 - 22:51:03 - перейти к сообщению
можно еще так Улыбка

PHP:
скопировать код в буфер обмена
  1.  
  2. $action = $_GET["action"];
  3. call_user_func($action);
  4.  
  5. function one(){
  6.          # ... тут какой-то код ... #
  7. }
  8.  
  9. function two(){
  10.          # ... тут какой-то код ... #
  11. }
  12.  
  13. function three(){
  14.          # ... тут какой-то код ... #
  15. }
  16.  
  17.  
8. LIME - 10 Марта, 2012 - 23:12:14 - перейти к сообщению
Okula пишет:
Я нашёл + в том что не нужно дополнительно в кавычки обрамлять.
может имелись ввиду фигурные скобки?
тогда {} VS : break ))
(Добавление)
event кстати у вас неправильный синтаксис свитча
9. Okula - 11 Марта, 2012 - 00:00:30 - перейти к сообщению
LIME пишет:
может имелись ввиду фигурные скобки?

ага, думал ободном, а написал другое Улыбка))
10. event - 11 Марта, 2012 - 00:11:04 - перейти к сообщению
LIME
Где именно косяк?
11. Bio man - 11 Марта, 2012 - 00:18:45 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. switch ($action){
  2.        
  3. case "one":
  4.  
  5. # ... тут какой-то код ... #
  6.              
  7. break;
  8.        
  9. case "two":
  10.  
  11. # ... тут какой-то код ... #
  12.              
  13. break;
  14.        
  15. case "three":
  16.  
  17. # ... тут какой-то код ... #
  18.              
  19. break;
  20.  
  21. }

 

Powered by ExBB FM 1.0 RC1