Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите по организации каталогов самописной CMF 
:(
    Опции темы
insky
Дата 5.9.2008, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



Добрый вечер!

Не так давно решил допилить свои отдельные куски кода в нечто вроде простенькой CMS для дальнейшего использования в проектах. 
Использованы технологии: Apache / Php 4 / MySql 4 / Smarty / TinyMCE / ModRewrite

Принцип работы:

   1. Все запросы перенаправляются на index.php
   2. В зависимости от запрашиваемого адреса проводится сопоставление с таблицей модулей
   3. Поиск модуля в подкаталоге insky/modules/ %name% / index.php - исполняется в качестве Model и Controller
   4. В папке /insky/templates/ - происходит поиск шаблона дизайна сайта smarty tpl
   5. В шаблон дизайна сайта подключается insky/modules/ %name% / index.tpl - в качестве controller
   6. exit

Также есть папка с статическими html страницами, которые не изменяются /sites/content/ это в качестве замены хранению статики в БД. Я написал простейший installer, позволяющий развернуть CMS на локальном хосте, запускается автоматически в билде v002.

Особенно интересно было бы услышать критику по структуре каталогов, и базовым группам функций таким как class.sql class.string, class.users, чтобы до того как начинать серъезное развитие CMS понять жизнеспособность архитектуры.

Insky CMS состоит из двух каталогов:

/insky/ - непосредственно CMS система с модулями и шаблонами
/sites/ - файлы относящиеся только к текущему сайту


Каталог insky состоит из следующих подкаталогов:

/class/ - Базовые классы (точнее группы функций в одном файле)
/ext/ - Внешние расширения и модули / сторонние разработчики /
/getter/ - Внешние расширения и модули
/img/ - Папка для хранения общих изображения
/modules/ - Модули сайта
/templates/ - Шаблоны сайта
/tiny_mce/ - Редактор tiny_mce

Каталог sites состоит из следующих подкаталогов:

/.temp/ - логи, флаги, временные файлы
/content/ - содержимое статических HTML страниц сайта
/options/ - sitemap,robots,favicon и другие вспогательные файлы
/upload/ - пользовательский контент


Загрузить текущую версию 002 можно с Google Code http://code.google.com/p/insky/downloads/list
Cкачать исходные коды из SVN http://code.google.com/p/insky/source/checkout
Документация, которая написана на данный момент http://code.google.com/p/insky/w/list

Заранее благодарю за любые замечания! Буду рад если, кто нибудь захочет присоединиться к разработке.
PM MAIL   Вверх
HackMan
Дата 6.9.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



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


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
insky
Дата 9.9.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



Понял следующие вещи:
1) Нужно сначала сформулировать систему именования классов, функций и переменных
Естественно причесал код в соответсвии с системой именования: http://code.google.com/p/insky/wiki/InskyNamingSystem

2) Нужно пытаться описывать свою систему в комплексе, чтобы понимать как она работает,
 и где и что можно изменить

3) Выложил демо версию сайта на основе Insky CMS: http://demo.insky.ru/
Логин: [email protected] + Пароль: demo 

4) Поменял систему обработки ошибок, теперь есть 3 состояния
Production -> при этом ничего из ошибок в браузер не выводится
Localhost -> при этом выводятся критические ошибки
Max.Debug -> при этом выводяться все Notice, панель дебаггинга smarty и.т.д.
---
Все это переключается одной кнопкой в панели управления.

5) Последнюю версию Insky CMS можно скачать http://code.google.com/p/insky/downloads/list

PS: На этой самописной CMS, реализованы сайты http://students.tomsk.ru и http://vseznaut.ru
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1079 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.