Help PHP function

vezirov

New Member
Здравейте, някой може ли да помогне с един скрипт:

function osc_item_views($viewAll = false) {
$item = osc_item();
if($viewAll) {
return ItemStats::newInstance()->getViews(osc_item_id());
} else {
if(isset($item['i_num_views'])) {
return (int) osc_item_field("i_num_views");
} else {
return ItemStats::newInstance()->getViews(osc_item_id());
}
}
}

Скрипта е за извеждане на номер от посетена страница.
Идеята е без да се променя скрипта изведеният резултат да се умножи по дадено число.
 
От: Help PHP function

След като не искаш да се променя кода, може там където се извежда функцията да се направи например: echo osc_item_views() * 5; - така резултата ще се умножи по 5.
 
От: Help PHP function

function osc_item_views($viewAll = false, $multiplier = 1) {
$item = osc_item();
if($viewAll) {
return ItemStats::newInstance()->getViews(osc_item_id()) * $multiplier;
} else {
if(isset($item['i_num_views'])) {
return (int) osc_item_field("i_num_views") * $multiplier;
} else {
return ItemStats::newInstance()->getViews(osc_item_id()) * $multiplier;
}
}
}

Така се променя функцията, но само ако я извикаме с 2ри параметър различен от 1. По елегантен метод от умножение на резултата и по - лесно се променя, ако има нужда след време.
 
От: Help PHP function

Мерси работи чудесно, а дали е възможно да се направи за време, примерно на всеки час добавя N на брой
 
От: Help PHP function

Хм това няма значение, скрипта е на статии, след като се добави нова може след 5 минута, нещо такова.
 
От: Help PHP function

Не мисля, че разбирам. Дай малко по - подробно обяснение.
 
От: Help PHP function

Да се умножава, но на определен период от време примерно на 60 мин умножава по 1 както е и сега, просто да е на определен период от време.
Дано се разбира какво имам предвид.
 
От: Help PHP function

На определен период от време примерно 60мин означава, че ти трябва крон. Това ни води до къде се записва резултата от операцията. Ако не се пише в базата то искаш нещо по сесия. И в двата случая информацията е недостатъчна. PHP не разбира от хвърляне на боб :).
 
От: Help PHP function

Не е нужен крон за целта. Просто една проверка която да изчислява разликата между current time и time posted. ;)
 
От: Help PHP function

Ясно е, че крайната цел е да се показват повече преглеждания, отколкото са в действителност. По-добре е да се промени направо добавянето в базата, е не изобразяването с функцията. Може вместо 1 преглед да добавя 2-3 или някакво произволно число между 1 и 10 да речем.
 

Горе