Автор Тема: Как правильней сделать  (Прочитано 3251 раз)

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

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Как правильней сделать
« : 09 Ноября 2002, 11:59:50 »
Есть скрипт который выводит каталог анекдотов, вставлен в одну HTML страницу SSI и только в ней и вертится, но анекдоты разбиты по разделам (тематике) и каждый раздел в своем txt файле, они подгружаются в зависимости от того какие параметры указаны. Мне пришлось в скрипте создать кучу условий, таких как:

if (categ eq "0001") {$base_file="base/1001.txt"}
if (categ eq "0002") {$base_file="base/1002.txt"}
....
if (categ eq "0101") {$base_file="base/1101.txt"}

У меня есть файл в котором перечислены все эти разделы и заголовки к ним, такого вида:

0001|Раздел 1|end
0002|Раздел 2|end
...
0101|Раздел 101|end

Я хочу избавится от этой кучи условий, но вопрос, что правильней, забить в выше указанный файл еще одну переменную, с названием файла, или же прибавлять к переменной $categ еще один или несколько символов вначале для получения имени файла?

Что безопасней и работать быстрее будет?

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как правильней сделать
« Ответ #1 : 09 Ноября 2002, 21:30:15 »
$base_file="base/$categ.txt";
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Как правильней сделать
« Ответ #2 : 09 Ноября 2002, 21:43:46 »
Цитировать
$base_file="base/$categ.txt";

Цитировать
Что безопасней и работать быстрее будет?

Только $categ нужно обязательно проверять, а то там такое пропишут, что, если проект серьёзный, тебе будет не до анекдотов:-))).
Кстати я тоже этим часто пользуюсь, а вот проверяю редко, лень:-).
Ну к чему все это, лучше бы водки выпили...

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как правильней сделать
« Ответ #3 : 09 Ноября 2002, 23:18:43 »
Цитировать
нужно обязательно проверять
Об этом можно было и не говорить, естественно нужно! Например, так:
$categ="0001" unless $categ=~/^\\d{4}$/;
И про режим проверки меченых данных не забываем ("-T")!
Цитировать
а вот проверяю редко, лень:-).
О-ОЧЕНЬ ЗРЯ!
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Как правильней сделать
« Ответ #4 : 11 Ноября 2002, 09:34:15 »
Спасибо, но я все-таки решил в файл где забиты заголовки категорий забить еще 1 переменную с названием файла, тогда в принципе проверять переменную $categ не обязательно, если что и забьют левое, то толку не будет никакого.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как правильней сделать
« Ответ #5 : 11 Ноября 2002, 13:08:20 »
Phoinix, это ИМХО тупиковая ветвь эволюции.
Почитай лучше что-нибудь про базы данных (самые основы) - поймешь.
Литературный перевод с русского и английского на Perl. Дорого!

 

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