[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: про велосипед cms
Gradus
надо сделать гибкий cms без ооп и встал вопрос при обращении модулей друг к другу.
Как пример допустим модуль главной страницы обращается к модулю новостей что бы достать последние 10 новостей.

Я рассматриваю как вариант решения,модули основывать на функциях то есть:

function news ($ret=0)
{
//бла бла бла
$mas_new['var1']="Все данные заключать в массивы";
if($ret) {
return $mas_new; //если передаёться параметр к функци отдавать данные
}
else {
include news.tpl; // если без параметра инклудим шаблон и там выводим массив
}
}



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

Да и вопрос, что больше создаёт нагрузку массивы или переменные ?



Спустя 17 минут, 51 секунда (26.04.2010 - 10:46) sergeiss написал(а):
А ты не возвращай массивы через return, а передавай как параметр по ссылке. Тогда будет передаваться не объект целиком, а только его адрес (ну, или почти так). И ты не будешь гонять туда-сюда кучу данных.

Спустя 7 минут, 12 секунд (26.04.2010 - 10:53) Gradus написал(а):
return &$mas_new;

Так всмысле ?

$get_news=&news(1);

никогда так не пробывал smile.gif

Спустя 14 минут, 4 секунды (26.04.2010 - 11:08) Gradus написал(а):
плохой из меня пыхник smile.gif выше описаное не работает, вот так работает

return $mas_new;

или так

$ret=&$mas_new;
return $ret;

sergeiss, я тебя правильно понял ? smile.gif

Спустя 2 минуты, 50 секунд (26.04.2010 - 11:10) sergeiss написал(а):
Нифига ты не понял....

$arr=array();

set_param( $arr );

var_dump( $arr );
.....


function set_param( &$a )
{
$a[0]='oskldufjolsjflka';
$a[1]=345;
$a['last']='last string in array';

// return - не надо!!!!
}

Спустя 5 минут, 40 секунд (26.04.2010 - 11:16) Gradus написал(а):
ёшкин батя, во дела smile.gif Спасибо , спасибо )

Спустя 29 минут, 54 секунды (26.04.2010 - 11:46) DedMorozzz написал(а):
sergeiss, спасибо! Качественная конструкция. Только вот возник вопрос, а в обычной, бытовой ситуации, что быстрее: ретёрн или присвоение(&) ??

Спустя 1 час, 9 минут, 3 секунды (26.04.2010 - 12:55) sergeiss написал(а):
Цитата (DedMorozzz @ 26.04.2010 - 12:46)
Только вот возник вопрос, а в обычной, бытовой ситуации, что быстрее: ретёрн или присвоение(&) ??

Давай думать будем smile.gif
В случае использования ссылки объект создается до вызова функции, т.е. один раз. Потом только происходит присвоение величины.
В случае возврата параметра будет создан полноценный объект, копия которого будет присвоена переменной на принимающей стороне.
Во втором случае больше операций, и чем сложнее объект, тем дольше будет это всё делаться. Вот только вопрос - насколько эта разница велика, чтобы "париться"? В языке Си, когда делаешь какое-то приложение, критичное по времени исполнения, разница может быть существенно. А на ПХП... Я не уверен, что стОит париться сильно. По крайней мере в случае одной простой переменной (двух, трех...) я точно не заморачиваюсь.


_____________
ДАВАЙ ДЕНЬГИ
R543264623869
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.