Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужны советы php-программистов по построению структуры для CMS на файлах

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
alexlasto
Отправлено: 21 Августа, 2011 - 09:41:51
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2011  
Откуда: Чебоксары


Помог: 0 раз(а)




Хеллоу всем!

Хочу узнать мнения и советы по улучшению структуры самописного CMS на файлах.

На данный момент он таков:
в корне
- index.php (в нем же все функции движка)
- images (папка для всех изображений)
- content (для всех контентных файлов)
в папке content
-- about.txt (обычные файлы для страниц типа "О блоге", "Контакты")
-- namecat-1 (папка для файлов определенной категории 1)
-- namecat-2 (папка для файлов определенной категории 2)
в папке namecat-2 (для примера)
---- post-1.txt ( в каждой папке свои файлы с содержанием статьи )


Как это работает:
-- одна функция парсит обычные страницы (about.txt и др.),
-- другая функция парсит папки и выводит список категорий,
-- следующая - выводит превью всех статей в выбранной категории
-- последняя - выводит выводит весь пост полностью

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

Может все посты поместить в одной папке, а название категорий прописывать в самих файлах? Не понял

Может предложите свои варианты как реализовать все это?
 
 Top
КЫР
Отправлено: 21 Августа, 2011 - 09:46:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 168
Дата рег-ции: Авг. 2011  
Откуда: Новосибирск


Помог: 2 раз(а)




alexlasto
делать cms с помощью файлов без бд - да вы еретик, батенька)
а как вы соотносите папку для категории с самой категорией?

первое, что бросается в глаза - отсутствие файла с конфигами. Их стоит отдельно вынести, чтобы не копаться в индексе в поисках нужного значения.


-----
Fuck you guys, I'll going home
 
 Top
alexlasto
Отправлено: 21 Августа, 2011 - 13:03:19
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2011  
Откуда: Чебоксары


Помог: 0 раз(а)




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

В папке категории создается спец файл, который содержит название категории.
 
 Top
White
Отправлено: 21 Августа, 2011 - 13:12:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




alexlasto пишет:
От БД отказался, потому что нагружает хост
бд работает быстрее и меньше нагружает хост, чем аналогичные действия на файлах + есть готовый интерфейс для хранилища.


-----
if(time()>1356048000) die();
 
 Top
alexlasto
Отправлено: 21 Августа, 2011 - 13:43:31
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2011  
Откуда: Чебоксары


Помог: 0 раз(а)




White пишет:
alexlasto пишет:
От БД отказался, потому что нагружает хост
бд работает быстрее и меньше нагружает хост, чем аналогичные действия на файлах + есть готовый интерфейс для хранилища.

Но ведь многие пишут: вот MySQL нагружает хостинг, может иногда "заглючить".

Кстати вот привожу цитату
Цитата:

Но "мускуль" - это типичное клиент-серверное приложение, и из этого вытекает его основной недостаток - он громоздкий! На мой взгляд, даже излишне громоздкий, когда речь идёт о чём-то простом и лёгком, вроде движка для простого блога.

Если вам доводилось переносить с одного хостинга на другой сайт, работающий с базой MySQL, уверен - вы вспомните, что это было непросто. Трудоёмкий бэкап и разворачивание, плюс постоянные проблемы с кодировками (возможно, в этом месте админы будут смеяться, но обычным пользователям не до смеху), этого уже достаточно, чтобы не питать особой любви к MySQL'ю. Конечно же, есть проекты, где без него просто не обойтись, но умоляю - для небольших блогов, да нет альтернативы?!


Есть конечно альтернатива SQLite, но я не так хорошо знаю как с ним пользоваться.
Если знаете, подскажите сайты, блоги или книги по SQLite
 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Августа, 2011 - 14:07:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




alexlasto пишет:
MySQL нагружает хостинг
ну да, ну да....
По 200-250 запросов на страницу от эксклюзивного васи-прогера через циклы выборки вложенного меню..
 
 Top
White
Отправлено: 21 Августа, 2011 - 14:51:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar а может подскажете почему такой код не работает
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <script language=php>
  4. $rows=array('name','id','login','password','email');
  5. foreach($rows as $row) {
  6.   for($i=0;$i<250;$i++) {
  7.     $res=mysql_query('SELECT '.$row.' FROM `user` WHERE `id`='.$i);
  8.     $result=mysql_fetch_array($res);
  9.     $user[$i][$row]=$result[$row];
  10.   }
  11. }
  12. </script>
  13. </head>

(Добавление)
мне кажется в 3 строке php надо брать в кавычки...

(Отредактировано автором: 21 Августа, 2011 - 14:52:03)



-----
if(time()>1356048000) die();
 
 Top
alexlasto
Отправлено: 21 Августа, 2011 - 15:12:02
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Авг. 2011  
Откуда: Чебоксары


Помог: 0 раз(а)




DeepVarvar пишет:
alexlasto пишет:
MySQL нагружает хостинг
ну да, ну да....
По 200-250 запросов на страницу от эксклюзивного васи-прогера через циклы выборки вложенного меню..


Окей Радость

Понимаю, что меня ввели в заблуждение Закатив глазки
Тогда как вам SQLite? Пользовались ли им? Каково ваше мнение на счет его?

(Отредактировано автором: 21 Августа, 2011 - 15:13:12)

 
 Top
iflight
Отправлено: 23 Августа, 2011 - 12:25:41
Post Id



Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011  
Откуда: Россия, Сыктывкар


Помог: 2 раз(а)




А чем не жизнеспособна CMS без БД? Такие есть и будут, и имхо, в этом нет ничего страшного. Если например надо сделать визитку в пару страниц, то можно обойтись и хранением инфы в текстовиках.
alexlasto Мускул сейчас наиболее популярен и инфы море, только он потихонечку загибается, но загнется явно не скоро, я бы советовал начать с него, когда научитесь перепрыгнуть на любую другую будет не сложно.
White, DeepVarvar Не понял Ха-ха

(Отредактировано автором: 23 Августа, 2011 - 12:26:05)

 
 Top
morosit
Отправлено: 23 Августа, 2011 - 12:30:44
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




iflight пишет:
Если например надо сделать визитку в пару страниц, то можно обойтись
обойтись и без CMS
 
 Top
iflight
Отправлено: 23 Августа, 2011 - 12:33:38
Post Id



Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011  
Откуда: Россия, Сыктывкар


Помог: 2 раз(а)




morosit пишет:
iflight пишет:
Если например надо сделать визитку в пару страниц, то можно обойтись
обойтись и без CMS

Есть ситуации, когда надо ставить такого рода производство сайтов на поток, так логично бы было один раз написать простенькую CMS, а затем менять CSS файл + 2-3 txt с текстом, чем писать все заново или просто перековыривать исходники? Да и имея в наличии такую истему этим делом может заниматься человек, не знающий что такое php вообще..

(Отредактировано автором: 23 Августа, 2011 - 12:37:21)

 
 Top
DeepVarvar Супермодератор
Отправлено: 23 Августа, 2011 - 12:36:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White
PHP:
скопировать код в буфер обмена
  1. <source lang="php">
  2. // синтаксис юми ЦМС
  3. </source>

Радость
 
 Top
morosit
Отправлено: 23 Августа, 2011 - 13:02:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




iflight если у вас 2 пхп файла, 2-3 текст, и 1 цсс. и вам нужно заменить все файлы кроме пхп - вам ненужно будет ни ЦМС, ни глубокие знания PHP.

(Отредактировано автором: 23 Августа, 2011 - 13:03:13)

 
 Top
iflight
Отправлено: 23 Августа, 2011 - 13:29:08
Post Id



Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011  
Откуда: Россия, Сыктывкар


Помог: 2 раз(а)




morosit
КМС - широкое понятие, мы просто разные вещи имеем ввиду видимо.. Два управляющих скрипта, база данных из текстовиков + возможность настройки внешнего вида - это уже впринципе CMS...
Я с вашей точкой зрения согласен, то что пользы от таких вещей не густо, но и исключать их не стоит (они есть, их много и ими пользуются).
 
 Top
Stierus Супермодератор
Отправлено: 14 Ноября, 2011 - 12:23:25
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




alexlasto, кешируйте структуру папок (что бы при каждом открытии дерева документов не просматривать всю структуру папок и документов). ГОрячий кэш и такая схема будет летать.

White пишет:
DeepVarvar а может подскажете почему такой код не работает
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <script language=php>
  4. $rows=array('name','id','login','password','email');
  5. foreach($rows as $row) {
  6.   for($i=0;$i<250;$i++) {
  7.     $res=mysql_query('SELECT '.$row.' FROM `user` WHERE `id`='.$i);
  8.     $result=mysql_fetch_array($res);
  9.     $user[$i][$row]=$result[$row];
  10.   }
  11. }
  12. </script>
  13. </head>



Эти 1250 запросов можно заменить одним ... надеюсь, этот код приведен для примера и нигде не используется?
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB