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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: function rating

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Какой вариант использования функции лутше?
Sanek_OS9
Отправлено: 05 Декабря, 2012 - 11:40:49
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




Здраствуйте *smille*, у меня следующий вопрос, какой вариант функции будет лутше.
Вот два варианта:
Вариант №1:
PHP:
скопировать код в буфер обмена
  1.  
  2. function rating($n1, $n2){
  3.         $rating = $n1 + $n2;
  4.         return ''.$rating.' (+'.$blogs['rat_p'].'/'.$blogs['rat_m'].')';
  5. }

Использование:
PHP:
скопировать код в буфер обмена
  1. echo rating($blogs['rat_p'], $blogs['rat_p'])

Вариант №2:
PHP:
скопировать код в буфер обмена
  1. function rating(){
  2.         global $blogs;
  3.         $rating = $blogs['rat_p'] + $blogs['rat_m'];
  4.         return ''.$rating.' (+'.$blogs['rat_p'].'/'.$blogs['rat_m'].')';
  5. }
  6.  

Использование:

Результат будет одним и тем же, но какой из вариантов более производительнее будет? Или разницы как таковой нет? Если нет то вариант №2 будет удобнее.
 
 Top
OrmaJever Модератор
Отправлено: 05 Декабря, 2012 - 11:47:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Вариант 1 лучше. globals плохая вещь, лучше всегда передавать в параметре.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Sanek_OS9
Отправлено: 05 Декабря, 2012 - 11:48:40
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




Спасибо, но всетаки globals удобная весчь Улыбка

(Отредактировано автором: 05 Декабря, 2012 - 11:49:47)

 
 Top
Мелкий Супермодератор
Отправлено: 05 Декабря, 2012 - 12:31:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Sanek_OS9 пишет:
всетаки globals удобная весчь

Поговорим об этом через год Подмигивание Когда рухните от сложности и необходимости помнить и постоянно следить за тем, какие глобальные переменные какая функция использует. А это случится.


-----
PostgreSQL DBA
 
 Top
Sanek_OS9
Отправлено: 05 Декабря, 2012 - 12:32:16
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




OrmaJever пишет:
Вариант 1 лучше. globals плохая вещь, лучше всегда передавать в параметре.

А можите обьяснить по подробней почему global не желательно использовать?
 
 Top
OrmaJever Модератор
Отправлено: 05 Декабря, 2012 - 12:43:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Потому что
1) globals ищет переменую по всей глобальной области видимости что ударяет по производительности.
2) Это плохой тон програмирования, и как уже сказал Мелкий сложно следить какие переменые откуда берутся.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Sanek_OS9
Отправлено: 05 Декабря, 2012 - 12:50:06
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




OrmaJever пишет:
Потому что
1) globals ищет переменую по всей глобальной области видимости что ударяет по производительности.
2) Это плохой тон програмирования, и как уже сказал Мелкий сложно следить какие переменые откуда берутся.

Спасибо большое Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB