Автор Тема: Техника  (Прочитано 4022 раз)

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

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Техника
« : 16 Ноября 2004, 23:08:59 »
Приветствую всех.
У меня вопрос к гуру программирования не по каким-то отдельным вопросам, а по самой технике написания статей.

Например: Есть новости. 1 часть - это вывод новостей посетителям, 2 часть - это система добавление новостей, так скажем для зарегинных пользователей, и 3 часть - редактирование этих новостей, допустим админами. Так вот в чем вопрос, как мне эти части распределить (в один файл... в два файла, типа один выводит, другой редактирует, и в нем разграничение прав, по пользователям и админам, или каждая часть в отдельном файле) ???

Потом так же и с функциями javascript,  запихнуть все в один файл, и подгружать его на каждой странице, или там где используется ява, туда и вставлять и нужные функции.

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

И еще в чем плюсы и минусы написания сайтов, когда обращаются не к определенном файлу (например, index.php  forum.php) а по адресной строке
http://www.site.ru
http://www.site.ru/news
http://www.site.ru/forum
при этом самих этих папок нет...

С уважением, Николай

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Техника
« Ответ #1 : 16 Ноября 2004, 23:55:40 »
1. делай все как можно проще. В случае с новостями - 3 файла (но можешь общие части вынести в функции или include-ы)

2.
Цитировать
Rodent:
Потом так же и с функциями javascript, запихнуть все в один файл, и подгружать его на каждой странице, или там где используется ява, туда и вставлять и нужные функции.

это по разному. ИМХО лучше не создавать лишний траффик.

3. Классы - это совершенно другая парадигма программирования. И часто новичкам сложно въехать в нее. Я тоже долго не мог въехать. Начни сначало  просто использовать чужие готовые классы (я так и начинал).

4.
Плюсы - URL красивее и легче запоминается
Минусы - на крупных сайтах это усложнит скрипт и наложит некоторые ограничения (хотя можно красивые URL-ы деалть не для всего сайта а только для популярных страниц)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Tryapkonator

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 92
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Техника
« Ответ #2 : 17 Ноября 2004, 00:18:22 »
Классы в пхп это то же что и классы в других языках программирования. ИМХО вещь очень полезная для разработки игр итп! НО НИКАК НЕ ДЛЯ НАПИСАНИЕВ СКРИПТОВ. Бред! Писать 200 строк класса, который генерит надпись "Hello World". Но это мое личное мнение.

http://www.site.ru/news/
И прочее делается для поисковиков, в основном. Дело в том, что они не любят индексить скрипты, типа
http://www.site.ru/?page=news&id=1
и обожают ЧПУ, например
http://www.site.ru/news/1.html
Вот.

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Техника
« Ответ #3 : 17 Ноября 2004, 01:01:58 »
вообще-то, ЧПУ расшифровывается, как Человеко-Понятный УРЛ, и при чем здесь поисковики - совершенно непонятно.

О том, что любят поисковики, лучше читать не у досужих прохожих на форуме, а на самих поисковиках.

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Техника
« Ответ #4 : 17 Ноября 2004, 10:36:59 »
Итак, я сделаю некоторые выводы:
1. чем проще, тем лучше, и с этим согласны все
2. классы - вещь полезная, но не для новичков, создающие примитивные сайты
3. ЧПУ - good для пользователя, и это основное, а так как мы боремся за пользователя, то этого и надо придерживаться.

Огромное спасибо за помощь
Макс
Tryapkonator
RomikChef

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Техника
« Ответ #5 : 17 Ноября 2004, 12:59:29 »
а по-моему, мы только начали :-)
про чпу можно почитать здесь:
http://spectator.ru/technology/php/user_friendly_urls

Кстати, о спектаторе. Сами скроипты очень рекомендую писать, как написано здесь
http://spectator.ru/technology/php/easy_templates

по повду же стуктуры.
объединять надо по функциональному признаку.
Если подумать, то добавление иредактирвоание - это, в принципе, одно и то же - вывод формы и сохранение ее содержимого.
поэтому очень удобно делать админку в одном файле.
в котором в самом верху идет обработка формы, а дальше - проверка: если пришел id новости - значит, выводим форму.
если айди больше нуля - заполняем форму из базы.
если айди нету - выводитм таблицу с заголовкаминовостей и ссылками "редактирвоать".

Оффлайн Rodent

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 133
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.unimix.ru
Техника
« Ответ #6 : 17 Ноября 2004, 13:34:36 »
RomikChef
спасибо за ссылки, почитаем

а вот насчет структуры, то у меня выдь вот какое дело, добавлять допустим новости могут только зарегенные юзверы, а редактировать их только так скажем админы сайта и сами авторы данной новости. Конечно же вы, правы, что по функциональности они схожи... да ВЫ ТОЧНО ПРАВЫ... так и бум делать...

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

if ($_SESSION["user_name"]=="author of news" || $$_SESSION["admin_level"]=="admin"):
   
разрешение на делание того то
else:
   
Ошибка
endif;

правильно? или можно проще и грамотнее?

и еще :-)
допустим приходит id новости, которой нет, выполняется запрос в бд, выходит нулевой результат. Надо ли как-нить на это реагировать, типа "ошибка такой новости нет" или просто пропустить и ничего не писать
я конечно понимаю что юзверу нужно все объяснять почему это не то и не так, однако если правильно работает сайт, с грамотно настроенным формированием ссылок, то вывод один, что если пришел номер не "правильной" новости, то просто в самой адресной строке пытаются, конечно не взломать, а пробить новость которая допустим скрыта от посторонних глаз.
как на это реагировать?
« Последнее редактирование: 17 Ноября 2004, 13:47:27 от Rodent »

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

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Техника
« Ответ #7 : 17 Ноября 2004, 15:40:11 »
у тебя в этом коде ошибка.
которая ловится выставлением
error_reporting(E_ALL);
Поставь в начале скрипта, и посмотри
и пиши только под нее.

вопрос разделения прав - велик и обширен.
сделай пока так:
В самом начале скрипта- модуль проверки прав.
в нем все проверяешь, и если нет прав - то ошибка и exit

по несуществующей новости надо выводить нормальную ошибку.
А хулиганов надо отлавливать по логам.
ведешь логи и просмотриваешь - куто куда и зачем ходил

Оффлайн Босc всех зон

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
Техника
« Ответ #8 : 19 Ноября 2004, 13:47:34 »
Цитировать
НО НИКАК НЕ ДЛЯ НАПИСАНИЕВ СКРИПТОВ. Бред!

Раз это твоё мнение, скромнее надо писать.
PEAR наверное тоже бред.

 

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