Автор Тема: Оптимизация кода или что-то типа этого...  (Прочитано 4306 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yourock

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Интересует такая вещь: зависит ли скорость работы сайта от количества страниц, т.е. есть ли разница - разбивать код на несколько страниц или все толкать в одну?
Например, есть "менеджер новостей", где модератор может добавлять, редактировать и т.д. Я всегда стараюсь все писать в одном файле (допустим news.php).
Целесообразно ли это с точки зрения скорости работы сайта?
Или лучше делать несколько страниц (типа news_show.php, news_add.php, news_edit.php)?

Оффлайн unclebob

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 96
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Оптимизация кода или что-то типа этого...
« Ответ #1 : 13 Сентября 2005, 00:22:15 »
Думаю, в твоем случае врядли есть разница.

вообще, если каждый из модулей несет свою смысловую нагрузку стоит разбить на части ради стройности системы. Если кода мноооого (ну очень много!), то твои процессы займут меньше памяти если код разбит на отдельные модули, запускаемые в разных случаях.

мое мнение
запивайте пиво водкой, чтобы жизнь была короткой
запивайте водку пивом, чтобы стать большим красивым

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Оптимизация кода или что-то типа этого...
« Ответ #2 : 13 Сентября 2005, 02:37:27 »
Yourock
ты ищешь оптимизацию кода не там, где надо.
оптимизировать надо то, что реально тормозит, а не там, где тебе буйная фантазия подсказывает.

об оптимизации тут речь вообще не может идти.
только об удобстве разработки.
несколько страниц (типа news_show.php, news_add.php, news_edit.php) - делать ОЧЕНЬ неудобно.
особенно - если учесть, что news_add.php и news_edit.php - это практически один и тот же скрипт.

вот пример простого и компактного кода, раклизующего основной функционал БД - форма + таблица.
Всё росто и компактно

<? 
mysql_connect();
mysql_select_db("new");
$table="test";
if(
$_SERVER[\'REQUEST_METHOD\']==\'POST\') { 
  if ($id=intval($_POST[\'id\'])) {
    $query="UPDATE $table SET name=\'".mysql_real_escape_string($_POST[\'name\'])."\' WHERE id=$id";
  } else {
    $query="INSERT INTO $table SET name=\'".mysql_real_escape_string($_POST[\'name\'])."\'";
  }
  mysql_query($query);
  header("Location: http://".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\']); 
  exit; 

if (!isset($_GET[\'id\'])) { 
  $LIST=array();
  $query="SELECT * FROM $table"; 
  $res=mysql_query($query);
  while($row=mysql_fetch_assoc($res)) $LIST[]=$row;
  include \'list.php\';
} else { 
  if ($id=intval($_GET[\'id\'])) {
    $query="SELECT * FROM $table WHERE id=$id"; 
    $res=mysql_query($query);
    $row=mysql_fetch_assoc($res);
    foreach ($row as $k => $v) $row[$k]=htmlspecialchars($v);
  } else {
    $row[\'name\']=\'\';
    $row[\'id\']=0;
  }
  include \'form.php\';

?>

form.php
<form method="POST">
<input type="text" name="name" value="<?=$row[\'name\']?>">

<input type="hidden" name="id" value="<?=$row[\'id\']?>">
<input type="submit">

<a href="?">Return to the list</a>
</form>

list.php
<a href="?id=0">Add item</a>
<? foreach ($LIST as $row): ?>
<li><a href="?id=<?=$row[\'id\']?>"><?=$row[\'name\']?></a>
<? endforeach ?>


Оффлайн Yourock

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Оптимизация кода или что-то типа этого...
« Ответ #3 : 13 Сентября 2005, 05:01:17 »
RomikChef, так я и так почти так делаю, как у тебя написано (имхо, код у тебя мудренный какой-то - разве нельзя было обойтись одним пэхапэшным файлом ;) )
Чисто спортивного интереса ради спросил :)
Просто я все делаю через функции в одном файле. А порой доходит дело и до 15-20 функций и пока весь листинг просмотришь, голова кругом идет :) Хотя все, что до 400-500 строк кода - терпимо...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Оптимизация кода или что-то типа этого...
« Ответ #4 : 13 Сентября 2005, 10:09:17 »
хахаха! =)
Цитировать
Yourock:
имхо, код у тебя мудренный

при том, что строк в нём  - 20, и НИ ОДНОЙ функции, а у тебя - 400 и 20 функций =)))

сделать в одном файле можно.
и ничего мудрёного нет в том, чтобы добавить эти куски в основной файл. Можешь так и сделать.
Когда же ты узнаешь про шаблоны, то поймёшь, что код не мудрёный, а наоборот, гораздо проще.

Оффлайн Алексей

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 176
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Оптимизация кода или что-то типа этого...
« Ответ #5 : 13 Сентября 2005, 11:16:16 »
Цитировать
RomikChef:
news_show.php, news_add.php, news_edit.php

ИМХО news_show.php - это совсем другое, в отличие от news_add.php, news_edit.php. По опыту говорю.

Если последние 2 "модуля" работают с постом, и там нужно лишь флаг типа in_base = (true|false) за собой таскать ($_POST[\'id\'] в коде Ромика), то  news_show.php у меня лично всегда не тольео занимается выводом списка, но и обладает кучей функий сортировки, поиска, удаления новостей. Содержать это всё в одном файле было бы неудобно...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Оптимизация кода или что-то типа этого...
« Ответ #6 : 13 Сентября 2005, 12:50:11 »
совершенно верно.
если код разрастается, то его - для удобства, и ничего больше - можно вынести в отдельный файл.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Оптимизация кода или что-то типа этого...
« Ответ #7 : 14 Сентября 2005, 21:53:59 »
Если идет что-то общее во всех файлах то нет смысл это дублировать.
Особенно это принесет много неудобств при  внесении изменений.
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28