Пятница, 29 Марта 2024, 15:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Программирование » Общие обсуждения программистов » Поиск, критика приветсвтуется
Поиск, критика приветсвтуется
ТритонДата: Четверг, 03 Мая 2012, 17:21 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Code
$what=$_GET["what"];
$where=$_GET["where"];
echo "<form action=\"\" method=\"get\">\n";
echo "Искать\n";
echo "<input name=\"what\" size=100>\n";
echo "<select name=\"where\">\n";
echo "<option value=\"body\">в тексте</option>\n";
echo "<option value=\"header\">в заголовках</option>\n";
echo "<option value=\"all\">везде</option>\n";
echo "</select>.<br>\n";
echo "<button>Искать</button>\n";
echo "</form>\n";
echo "<h1><center>Результат поиска</center></h1>\n";
$links=0;
if (($what!="")&($where!=""))
{  
  mysql_connect("localhost", "admin", password); // На месте password - значение пароля в кавычках
  mysql_select_db("site");
  mysql_query("SET character_set_client = cp1251");
  mysql_query("SET character_set_connection = cp1251");
  mysql_query("SET character_set_results = cp1251");
  $site="codesite";
  $query="SELECT * FROM `page` INNER JOIN `site` ON `page`.`site`=`site`.`id` INNER JOIN `type` ON `page`.`type`=`type`.`id` WHERE (`site`.`site`='".$site."' AND `url`<>'index' AND `url`<>'find') ORDER BY `url`;";
  $result=mysql_query($query);  
  while ($row=mysql_fetch_array($result))
  {
   $link=$row['url']."/";
   $type=$row['type'];
   $header=$row['header'];
   $body=$row['body'];
   $text="";
   switch ($type)
   {
    case "html": $text=$body;
    break;
    case "php" : $buffer = ob_get_contents();  
                 eval ($body);
                 $text=$buffer;
                 ob_end_clean();
    break;
   }
   $level=HeaderLevel($link);
   $flag=false;
   if (($where=="header")|($where=="all"))
   {
    $pos=strrpos(" ".$header, $what);
    if ($pos>0)
    {
     $flag=true;
    }
   }
   if (($where=="body")|($where=="all"))
   {
    $pos=strrpos(" ".$text, $what);
    if ($pos>0)
    {
     $flag=true;
    }
   }
   if ($flag)
   {
    $links++;
    echo "<h";
    echo $level;
    echo ">";
    echo "<a href=\"../";
    echo $link;
    echo "\">";
    echo $header;
    echo "</a></h";
    echo $level;
    echo ">\n";
   }
  }
}
if ($links==0)
{
  echo "<p>По Вашему запросу ничего не найдено.</p>\n";
}


Не всё так плохо, как оно есть на самом деле.
biohazardoДата: Четверг, 03 Мая 2012, 17:56 | Сообщение # 2
участник
Сейчас нет на сайте
Критика: Нет MVC. Поэтому выглядит как каша.

Добавлено (03.05.2012, 17:52)
---------------------------------------------
Довольно непонятно, зачем этот поиск без LIKE или полнотекстового поиска...

Добавлено (03.05.2012, 17:56)
---------------------------------------------
Вот эта конструкция убийственна.

Code

      echo "<h";   
      echo $level;   
      echo ">";   
      echo "<a href=\"../";   
      echo $link;   
      echo "\">";   
      echo $header;   
      echo "</a></h";   
      echo $level;   
      echo ">\n";   

Можно же так:
Code


echo "<h$level><a href=\"..\/$link/\">$header<a></h$level>";

В крайнем случае контактенацию.


web-developer, который хочет делать игры хотя-бы чуть-чуть

Сообщение отредактировал biohazardo - Четверг, 03 Мая 2012, 17:57
ТритонДата: Пятница, 04 Мая 2012, 08:08 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
Критика: Нет MVC. Поэтому выглядит как каша.
А тебе не кажется, что без ООП сложно декомпозировать внутреннее представление от обработки? И как предлагаешь новичку в PHP юзать этот не понятный MVC? Структура же таблиц с информацией, влияющей на текст, зафиксирована окончательно. О каком влиянии внутреннего представления на алгоритмы обработки в этом случае речь? Сами же данные на скрипт поиска не влияют совсем. Так что давай ближе к алгоритму поиска и качеству выдачи. Кстати, поиск написан за один день.

Добавлено (04.05.2012, 07:46)
---------------------------------------------
Quote (biohazardo)
Можно же так:
Code
echo "<h$level><a href=\"..\/$link/\">$header<a></h$level>";
Ты ни когда не задумывался, почему только php умеет при обычном выводе исполнять части стринговых констант? Фокус в том, что это не читабельно, а несколькими эхами подряд не надо думать о том, что надо, а что не надо экранировать и в каком месте будут выведены просто символы самой строки, наоборот, вместо исполнения.
Quote (biohazardo)
В крайнем случае контактенацию.
После нормальных языков конкатенация точкой немного не привычна, спотыкаюсь на ней. В других скриптах уже пробовал, но пока с ней не освоился. Кстати, можно как нибудь вообще запретить интерпретатору подобное исполнение? То есть чтоб
Code
$a="$b";
echo $a;

выводило текст "$b", а не значение переменной $b, а
Code
echo "$a";

выводило текст "$a", а не опять таки значение переменной $a? Чтоб только евал исполнял стринги? Евал то для этого предназначен и там подобное поведение явно и всегда ожидаемо, а всё остальное не должно так делать, это сбивает с толку и требует полного знания стандарта при написании любого даже примитивного скрипта.
Добавлено (04.05.2012, 07:52)
---------------------------------------------
Quote (biohazardo)
Довольно непонятно, зачем этот поиск без LIKE
За тем, что LIKE не евалит php. Искомая строка могла быть получена в результате неких операций: собрана из разрозненных кусков, или даже получена с использованием
Code
echo $i;
, где $i - числовая переменная, а её значение вычислено, а не присвоено в готовом виде. В таких случаях сравнение с тем, что уже есть в базе, бесполезно. А http засунут в тот же алгоритм вместо лайка для единобезобразия: два разных поиска в одном скрипте как то не очень.

Добавлено (04.05.2012, 08:08)
---------------------------------------------
Поиск лайком я уже делал для другой задачи. Там лайкились урлы, одни скрипт мог исполнять десятки страниц, сам валяясь за четырьмя слешами. Но такая структура сайта излишне сложна для редактирования страниц.


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Пятница, 04 Мая 2012, 08:14
biohazardoДата: Пятница, 04 Мая 2012, 09:33 | Сообщение # 4
участник
Сейчас нет на сайте
Quote (Тритон)
выводило текст "$b", а не значение переменной $b, а

Надо заключать не в двойные кавычки, а в одинарные. Тогда он будет брать строку без вставки туда переменных.


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Пятница, 04 Мая 2012, 10:12 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
Надо заключать не в двойные кавычки, а в одинарные. Тогда он будет брать строку без вставки туда переменных.
А чтоб при этом \n работало, как перенос строки? А то как то html код, слепленный в одну строку не страдает читабельностью.

Добавлено (04.05.2012, 10:12)
---------------------------------------------
Новый вариант

Code
$what=$_GET["what"];
$where=$_GET["where"];
echo "<form action=\"\" method=\"get\">\n";
echo "Искать\n";
echo "<input name=\"what\" size=100>\n";
echo "<select name=\"where\">\n";
echo "<option value=\"body\">в тексте</option>\n";
echo "<option value=\"header\">в заголовках</option>\n";
echo "<option value=\"all\">везде</option>\n";
echo "</select>.<br>\n";
echo "<button>Искать</button>\n";
echo "</form>\n";
echo "<h1><center>Результат поиска</center></h1>\n";
$links=0;
if (($what!="")&($where!=""))
{  
  mysql_connect("localhost", "admin", password);
  mysql_select_db("site");
  mysql_set_charset("cp1251");
  $site="codesite";
  $query="SELECT * FROM `page` INNER JOIN `site` ON `page`.`site`=`site`.`id` INNER JOIN `type` ON `page`.`type`=`type`.`id` WHERE (`site`.`site`='".$site."' AND `url`<>'index' AND `url`<>'find') ORDER BY `url`;";
  $result=mysql_query($query);  
  while ($row=mysql_fetch_array($result))
  {
   $link=$row["url"]."/";
   $type=$row["type"];
   $header=$row["header"];
   $body=$row["body"];
   $text="";
   switch ($type)
   {
    case "html": $text=$body;
    break;
    case "php" : $buffer = ob_get_contents();  
                 eval ($body);
                 $text=$buffer;
                 ob_end_clean();
    break;
   }
   $level=HeaderLevel($link);
   $flag=false;
   if (($where=="header")|($where=="all"))
   {
    $pos=strrpos(" ".$header, $what);
    if ($pos>0)
    {
     $flag=true;
    }
   }
   if (($where=="body")|($where=="all"))
   {
    $pos=strrpos(" ".$text, $what);
    if ($pos>0)
    {
     $flag=true;
    }
   }
   if ($flag)
   {
    $links++;
    echo "<h", $level, ">", "<a href=\"../", $link, "\">", $header, "</a></h", $level, ">\n";
   }
  }
}
if ($links==0)
{
  echo "<p>По Вашему запросу ничего не найдено.</p>\n";
}
. Так вроде читабельней. Я не использовал запятые сразу из-за того, что принимал оператор echo за функцию.


Не всё так плохо, как оно есть на самом деле.
biohazardoДата: Пятница, 04 Мая 2012, 10:14 | Сообщение # 6
участник
Сейчас нет на сайте
Quote (Тритон)
А чтоб при этом \n работало, как перенос строки? А то как то html код, слепленный в одну строку не страдает читабельностью.


Ну так и не надо заключать html код в echo. Сделать его отдельной вставкой вне php тегов <?php ?>
И в коде читабельно, а на странице тоже будет. Если надо что нибудь тут вставить из php, можно использовать короткие теги вывода: <?=$variable?>
Code

<?php
$what=$_GET["what"];    
$where=$_GET["where"];    
?>
<form action="" method="get">
...
</form>
<?php
...


web-developer, который хочет делать игры хотя-бы чуть-чуть

Сообщение отредактировал biohazardo - Пятница, 04 Мая 2012, 10:17
ТритонДата: Пятница, 04 Мая 2012, 10:20 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
Ну так и не надо заключать html код в echo. Сделать его отдельной вставкой вне php тегов <?php ?>
И в коде читабельно, а на странице тоже будет.
Вообще не понимаю такого подхода. Зачем рвать исходник и мешать прогу с данными? Ведь маленький тег можно и проглядеть, и даже спрятать за край окна. И будет абсолютно не понятно, где заканчивается один язык и начинается другой. И как в этом случае с пременными?
Code
<?php
...
$s="fgsaggfas";
...
?>
...
<?php
...
//Могу ли я здесь обращаться к $s?
...
?>
. Равный код - худшее, что можно было придумать. К тому же "\n" нужно и внутри функций и даже внутри циклов. А так язык один везде и гадать не надо.


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Пятница, 04 Мая 2012, 10:25
biohazardoДата: Пятница, 04 Мая 2012, 10:30 | Сообщение # 8
участник
Сейчас нет на сайте
Вот переделанный вариант, где я заменил echo вывод на html-вставки.
Code

<?php
$what=$_GET["what"];  
$where=$_GET["where"];  
?>
  <form action="" method="get">
   Искать
   <input name="what" size="100"/>
   <select name="where">
    <option value="body">В тексте</option>
    <option value="header">В заголовках</option>
    <option value="all">Везде</option>
   </select>
   <input type="submit" name="submit" value="Искать"/>
  </form>
  <h1><center>Результат поиска</center></h1>
<?php
$links=0;  
   ..........
    if ($flag)  
    {  
     $links++;  
  ?>
   <h<?=$level?>><a href="../<?=$link?>"><?=$header?></a></h<?=$level?>> <!-- Не менее читабельный, чем исходный. С левелом злостно выглядит в любом случае. -->
    
  <?php
    }  
   }  
}  
if ($links==0)  
{  
   echo "<p>По Вашему запросу ничего не найдено.</p>\n";  
}


Quote (Тритон)
Вообще не понимаю такого подхода. Зачем рвать исходник и мешать прогу с данными? Ведь маленький тег можно и проглядеть, и даже спрятать за край окна. И будет абсолютно не понятно, где заканчивается один язык и начинается другой. И как в этом случае с пременными?

Так для этого и используют MVC. А если его не использовать, то можно хотябы тут вынести код формы и вывода результатов в отдельные php-файлы, и запрашивать их с помощью require(). Нормальные редакторы подсвечивают хорошо html и php в одном файле, так что будет видно какой где язык. Зато это удобно, и не надо экранировать каждую кавычку. Если между ними влезет php тег, его можно будет найти в html-коде в браузере, а если html вылезет в php, проявится ошибка. Это сэкономит больше времени, потому что легче будет писать html.

Добавлено (04.05.2012, 10:30)
---------------------------------------------

Quote (Тритон)
Ведь маленький тег можно и проглядеть, и даже спрятать за край окна.


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


web-developer, который хочет делать игры хотя-бы чуть-чуть
lvovandДата: Пятница, 04 Мая 2012, 12:11 | Сообщение # 9
старожил
Сейчас нет на сайте
<?php
...
$s="fgsaggfas";
...
?>
...
<?php
...
//Могу ли я здесь обращаться к $s?
...
?>

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


Разработка и продвижение сайтов. Дизайн
ТритонДата: Суббота, 05 Мая 2012, 14:58 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
можно хотябы тут вынести код формы и вывода результатов в отдельные php-файлы, и запрашивать их с помощью require().
Весь сайт в базе, на диске только главная страница.

Добавлено (05.05.2012, 14:58)
---------------------------------------------
Quote (biohazardo)
Нормальные редакторы подсвечивают хорошо html и php в одном файле,
Это когда блокнот стал нормальным редактором? Да и подсветка обычно не языкастая, а стринги от переменных. Две же такие подсветки - это завал. Кроме того, как ты вообще предлагаешь разделить на два языка одну функцию? Например,
Code
function OutputSubLinks($url, $site, $include)
{
      if ($url=="index")
      {
       $s1="";
       $s2="index";
       $level=1;
      }
      else
      {
       $s1=trim($url, "/");
       $s2=$s1;
       $level=HeaderLevel(correct($url));
      }
      $query="SELECT * FROM `page` INNER JOIN `site` ON `page`.`site`=`site`.`id` INNER JOIN `type` ON `page`.`type`=`type`.`id` WHERE (`site`.`site`='".$site."' AND `url` LIKE '".$s1."%' AND `url`<>'".$s2."' AND `url`<>'find') ORDER BY `url`;";
      $result=mysql_query($query);
      while ($row=mysql_fetch_array($result))
      {
       $link=$row["url"];
       $header=$row["header"];
       $SubLevel=HeaderLevel("/".$link)-$level+2;
       if ($SubLevel-2<$include)
       {
        echo "<h", $SubLevel, "><center>", "<a href=\"", LocalLink($s1."/", $link), "/\">", $header, "</a></center></h", $SubLevel, ">\n";
       }
      }
}
, или
Code
function OutputIndex($url, $site)
{
    echo "<h1><center>";
    if ($url!="index")
    {
      echo "<a href=\"";
      echo ReseatSubString("../", HeaderLevel($url)-1);
      echo "\">";
      echo "Оглавление";
      echo "</a>";
    }
    else
    {
     echo "Оглавление";
    }
    echo "</center></h1>\n";
    $query="SELECT * FROM `page` INNER JOIN `site` ON `page`.`site`=`site`.`id` WHERE (`site`.`site`='".$site."' AND `url`<>'index' AND `url`<>'find') ORDER BY `url`;";
    $result=mysql_query($query);
    while ($row=mysql_fetch_array($result))
    {
     $link="/".$row["url"]."/";
     $header=$row["header"];
     $level=HeaderLevel($link);
     echo "<h",$level,">";
     if ($link!=$url)
     {
      echo "<a href=\"", LocalLink(Correct($url), $link), "\">", $header, "</a>";
     }
     else
     {
      echo $header;
     }
     echo "</h", $level, ">\n";
    }
    echo "<h2><a href=\"/phpMyAdmin-3.2.5-all-languages/\" target=_blank>Администирование</a></h2>\n";
}
?


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Суббота, 05 Мая 2012, 15:08
biohazardoДата: Суббота, 05 Мая 2012, 15:00 | Сообщение # 11
участник
Сейчас нет на сайте
Quote (Тритон)
Весь сайт в базе, на диске только главная страница.

Эмммм... а зачем он в базе?

Quote (Тритон)
Это когда блокнот стал нормальным редактором?

А зачем использовать блокнот?


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Суббота, 05 Мая 2012, 15:07 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
Эмммм... а зачем он в базе?
А чтоб не повторять вёрстку таблицы, низ и оглавление в исходнике каждой страницы. index.php разбирает урл и эхает, или евалит нужную страницу в ячейку, а вокруг находится оформление, отделённое и от скриптов, и от данных. Вместо того, чтоб захочу
Code
<td colspan=2>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr>
<td>
<p>Атавин<br>
Тарас<br>
Александрович</p>
</td>
<td width=100% align="center">
<img src="admin.jpg" width=75 height=75>
</td>
<td>
<p>к.т.н.,<br>
администратор,<br>
<a href="mailto:codesite@yandex.ru?subject=from_site">написать мне</a>.</p>
</td>
</tr>
</table>
</td>
поменять на что то другое и переделывать сотни страниц.

Добавлено (05.05.2012, 15:07)
---------------------------------------------

Quote (biohazardo)
А зачем использовать блокнот?
А что же ещё?


Не всё так плохо, как оно есть на самом деле.
biohazardoДата: Суббота, 05 Мая 2012, 15:09 | Сообщение # 13
участник
Сейчас нет на сайте
Quote (Тритон)
Да и подсветка не обычно не языкастая, а стринги от переменных. Две же такие подсветки - это завал.

Надо просто взять это и посмотреть: PhpStorm

Quote (Тритон)
Кроме того, как ты вообще предлагаешь разделит на два языка одну функцию? Например,

В нормальных условиях это делает шаблонизатор, отдельный или в составе MVC-приложения. Чем городить такой сложный и нечитабельный код, где 1000 эхов, лучше взять какой нибудь фреймворк (например, CodeIgniter) и сделать что-нибудь на нем, а дальше всё пойдет, как по маслу... Как я вижу, некоторые знания всё таки есть, поэтому можно переходить к более правильным методам.


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Суббота, 05 Мая 2012, 15:12 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
Quote (lvovand)
лучше рваный
лучше худшее, что можно было придумать, чем нормальный стиль? Почему то на всех языках делят вывод, а не пытаются "встраивать":
паскаль
Code
write('x=',x);
, c++
Code
coud<<"x"<<x;
, бейсик
Code
PRINT "x="'x
...


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Суббота, 05 Мая 2012, 15:13
biohazardoДата: Суббота, 05 Мая 2012, 15:17 | Сообщение # 15
участник
Сейчас нет на сайте
Quote (Тритон)
А что же ещё?

Умный блокнот. Ссылку давал.

Quote (Тритон)
А чтоб не повторять вёрстку таблицы, низ и оглавление в исходнике каждой страницы. index.php разбирает урл и эхает, или евалит нужную страницу в ячейку, а вокруг находится оформление, отделённое и от скриптов, и от данных.

Я ничего не понял, особенно зачем там что то эвалит. eval() вообще редко используемая функция, и её надо избегать.

Должен быть шаблон с верстко (низ, оглавление, хедер, и что угодно). В нем блок содержимого, изначально пустой. Какой нибудь <div class="content"></div>.

Самый спартанский метод шаблонизации с помощью этого шаблона:

Code

<?php
$content = "Здесь статья, вытащенная из базы, или что нибудт другое. Вообщем контент";
//Далее прямо с помощью require() запросим html шаблон, внутри него в блоке контента должна быть строка: <?php echo $content; ?>
ob_start(); Начинаем кеширование вывода
require (template.php);
$view = ob_get_contents();
ob_end_clean();
echo $view;


Вот и всё. Самый жёсткий, но рабочий метод


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Суббота, 05 Мая 2012, 15:17 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
В нормальных условиях это делает шаблонизатор, отдельный или в составе MVC-приложения. Чем городить такой сложный и нечитабельный код, где 1000 эхов, лучше взять какой нибудь фреймворк
А нафига мне цеплять целиком какой то там замудрёный фреймвок и всё равно мучаться с его ограничениями? У меня по сути тот же фреймвок, но свой, а потому во-первых не требующий изучения, а во-вторых минималистичный, то есть вообще без лишних килобайтов. MySql всё равно в составе сервака, а ничего лишнего я не писал. В отличие от всяких там друпалов с готовой поддержкой блогов, форумов и гостевых книг, зато то, что мне надо, я могу написать, вместо того, чтоб выбирать максимально похожее из готового совсем не того.


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Суббота, 05 Мая 2012, 15:21
biohazardoДата: Суббота, 05 Мая 2012, 15:21 | Сообщение # 17
участник
Сейчас нет на сайте
Quote (Тритон)
А нафига мне цеплять целиком какой то там замудрёный фреймвок и всё равно мучаться с его ограничесниями? У меня по сути тот же фреймвок, но свой, а потому во-первых не требующий изучения, а во-вторых минималистичный, то есть вообще без лишних килобайтов. MySql всё равно в составе сервака, а ничего лишнего я не писал. В отличие от всяких там друпалов с готовой поддержкой блогов, форумов и гостевых книг.


Друпал - это вообще CMS,а не фреймворк. Фреймворк нужен для быстрой разработки потому, что он уже имеет готовую архитектуру. А программисту нужно писать уже всё остальное, исходя из этой архитектуры. А чтобы писать свой фреймворк, надо сначала посмотреть, как они работают.


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Суббота, 05 Мая 2012, 15:27 | Сообщение # 18
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
Друпал - это вообще CMS,а не фреймворк.
Ну внутри же он содержит нечто такое, что не пускает страницу напрямую в апач. Вот эта часть и фреймвок.

Добавлено (05.05.2012, 15:24)
---------------------------------------------
Quote (biohazardo)
А чтобы писать свой фреймворк, надо сначала посмотреть, как они работают.
Это если бы я его отчуждал. А так самописная минималка, которую юзаю только я сам и точно знаю, что мне от неё надо.

Добавлено (05.05.2012, 15:27)
---------------------------------------------

Quote (biohazardo)
MVC-приложения.
То есть это вообще отдельная прилада? А нафига мне ещё энное количество мегабайт? Только ради дополнительных ограничений и зависимости моих скриптов от чужих представлений? Классная независимость скрипта от представления!


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Суббота, 05 Мая 2012, 15:24
biohazardoДата: Суббота, 05 Мая 2012, 15:30 | Сообщение # 19
участник
Сейчас нет на сайте
Quote (Тритон)
Вот эта часть и фреймвок.


Это просто серверная часть приложения, её лишь условно можно назвать фреймворком. Фреймворк - это готовый каркас, на который программист навешивает свой код, и соотвественно, своё веб приложение. Фреймворк он может писать себе сам, может брать готовый. Это упрощает и ускоряет разработку. Хороший веб-фреймворк приучает программиста к правильному подходу в веб-разработке.

Например, если я себе пишу форум, не обязательно я пишу для него фреймворк.


web-developer, который хочет делать игры хотя-бы чуть-чуть
ТритонДата: Суббота, 05 Мая 2012, 15:30 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Quote (biohazardo)
$content = "Здесь статья, вытащенная из базы, или что нибудт другое. Вообщем контент";
//Далее прямо с помощью require() запросим html шаблон, внутри него в блоке контента должна быть строка: <?php echo $content; ?>
ob_start(); Начинаем кеширование вывода
require (template.php);
Нифига себе! Для каждой страницы делать и php файл, и ещё отдельно заполнять запись в базе. Финиш.


Не всё так плохо, как оно есть на самом деле.

Сообщение отредактировал Тритон - Суббота, 05 Мая 2012, 15:30
Форум игроделов » Программирование » Общие обсуждения программистов » Поиск, критика приветсвтуется
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг