PHP.SU

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


 Страниц (6): [1] 2 3 4 5 6 »   

> Без описания
scuter
Отправлено: 29 Мая, 2008 - 22:38:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




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


если у кого есть своя CMS пожалуйста не жадничайте,
выложите хотя бы скриншоты.
 
 Top
Вездеход
Отправлено: 30 Мая, 2008 - 07:44:11
Post Id



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


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


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




и я примерно так же =)
только мега крутых не получалось пока, а с основным набором функций есть.

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

ну скрины.
ужасные - ибо пэйнт...
Прикреплено изображение (Нажмите для увеличения)
Безымянный.GIF


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Вездеход
Отправлено: 30 Мая, 2008 - 07:44:57
Post Id



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


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


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




и вот от туда же
Прикреплено изображение (Нажмите для увеличения)
Безымянный2.GIF


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Джур
Отправлено: 30 Мая, 2008 - 10:09:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


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




ну вот скрин модубя Block из админки QCM b.507
я ее года полтара назад делал...
Прикреплено изображение (Нажмите для увеличения)
1.jpg


-----
Тамбовский каджит тебе товарищ
 
 Top
scuter
Отправлено: 30 Мая, 2008 - 14:11:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




вполне интересные вещи,
наверное мучились долго над этими делами,

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

браузер посылает запрос на сервер
в запросе соответственно данные GET, POST, и как таковой файл которому это всё адресуется,
если это более менее нормальная CMS, то в этом файле нет HTML кода,
соответственно, что делает этот скрипт.

1) сначала он должен определить какой шаблон надо использовать,
2)потом он берёт как таковой текст страницы и дополнительные данные,
3)потом он определяет какие блоки или модули надо использовать на данном шаблоне и по возможности на данной страницы,
соответственно эти блоки реализуются, это делают люди разными способами,
кто то делает простые инклюды, кто то использует шаблонизатор у некоторых люде бывает очень изащрённые методы(но об этом может быть очень длинная беседа),
4)и после того как всё собрано это дело выдаётся пользователю,

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

1)как таковой модуль берёт какие то данные из какого то источника(это может быть база данных, сессия, файлы, кэш и т. д.)
2)соответственно он их обрабатывает и собирает в готовый HTML код.
3)ну и выдаёт её на страницу.

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

1)прежде всего редактирование страниц(там со всякими вузивуками подсказками и т.д.)
2)соответственно что их править там должна быть навигация по этим страницам(там различные деревья(tree), но в реальности по всякому бывает)
3)наконец то основное меню системы(там бывает статистика, редактирования страниц, без условно модули должны присутствовать, ну и конечно выход люди не забывают вставлять туда)

соответственно в основной страницы админки меняются только 2 вещи,
это навигация и остовная часть это то с чем работает как таковой пользователь.

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

дальше писать не могу форум не позволяет.
(Добавление)
ну блин перенесли и не предупредили.
 
 Top
RomAndry Администратор
Отправлено: 30 Мая, 2008 - 17:46:18
Post Id



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


Покинул форум
Сообщений всего: 912
Дата рег-ции: Янв. 2008  


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




Почитайте паттерны MVC
Там много интересного в реализации АПИ для CMS
Свои сайты я проектирую на движке собственном, применяя MVC
Не использую чужое так как требуется гибкость!
Да и вникая в чужое ужасаещься скорости работы (Мамба) или правилам (CakePHP - каке =) )
идея состоит в отделении ядра, модуля и шаблонов
все запросы имеют имя модуля и действие
index.php?module=messages&action=messages_send
Это в ядре подключается модуль messages ив нем выполняется экшн messages_send
SWITHC($action){
CASE $MOD.'_send':
....
BREAK;
.....
}
таким образом я отшиваю все левые запросы и не парюсь с безопасностью. (Естественно плейсхолдеры и прочая дребедень проверок присутствует в АПИ!)
далее, если есть ID и не равно нулю (intval юзаю)
index.php?module=messages&action=messages_send&id=11
значит это EDIT иначе ADD
с таким набором разработка модулей как конструктор
и Сайты получаются от простейшей визитки до портала с нагрузкой большой

Первые грабли я принял когда изучал движки чужие и попробовал Мамбу. Удивительно было смотреть что все она тянет из базы и загрузить главную страничку - 60 запросов а то и более. За что поплатился когда онлайн пользователей перевалило за 500 Огорчение
Или изучение фремворков- популярный CakePHP И его реализация <SELECT> стран по правилам АПИ - ужас я увидел в дебаге- сколько <OPTION> столько и прямых запросов к базе.... Нахмурился

Сейчас такой параноей не страдаю да и вообще универсальность - это критерий.
Если ты не WEB-студия то смысла нет, время и стоимость хорошего АПИ не соизмеримо с кол-вом сайтов.
Мое мнение - хорошее АПИ это по сути набор классов, библиотек....
 
My status
 Top
scuter
Отправлено: 30 Мая, 2008 - 22:51:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




Цитата:
Удивительно было смотреть что все она тянет из базы и загрузить главную страничку - 60 запросов а то и более. За что поплатился когда онлайн пользователей перевалило за 500 Огорчение

да такое не редкость, у меня тоже были постоянно круглые глаза когда я увидел сайт сделанный одним горе умельцем там было 278 запросов к базе на вывод одной странички, про мамбу, жимлу вообще говорить не стоит.
Цитата:
Если ты не WEB-студия то смысла нет, время и стоимость хорошего АПИ не соизмеримо с кол-вом сайтов.
Мое мнение - хорошее АПИ это по сути набор классов, библиотек....

к сожалению я не WEB-студия, а жаль может сделал бы всё это дело гораздо быстрей.

теперь вторая часть которую в прошлый раз не получилось написать.

теперь стоит изложить саму суть идеи написания CMS которая может протянуть достаточно долгое время всё что будет требоваться это дописание дополнительных модулей


как таковое ядро системы
с ни в принципе всё ясно и я думаю не для кого не составит труда
написать такую штуку как редактирование HTML кода и вывод панели навигации.

единственная проблема может состоять в модулях то есть как ох вставлять в страницу и
в систему, но об это я потом расскажу.

главное реализация модулей, просто частенько появляются такие высказывания(от клиентов)


Цитата:
ну там есть колонка новостей это же не трудно вставить ещё одну за 5 минут,
или несть же форум phpbb ты его нормально поставил на отдельный сайт ты же сможеш вставить его в свою CMS-ку это же проще простого всё в дизайн вогнать и написать дохрена фишек чтобы было всё по дизайну,
или например в дрюпале очень плохая система шаблонизации и многие вёрсталы вешаются поначалу от него.


это обычно является камнем преткновения для многих людей,

поэтому чтобы всё было проще можно подробить как таковой модуль на 3-и части,

это

1)источник материала
2)обработчик материала
3)вывод как такового блока

в источнике функции
1)создание материала
2)редактирование материала
3)вывод материала по CONF
4)удаление материала

в обработчике
1)функция обработки
2)функция которая выдаёт CONF для создания материала

в выводе блока
1)создание блоков на основе материала
2)шаблонизация блока
3)редактирование
4)удаление
 
 Top
D1mOn
Отправлено: 31 Мая, 2008 - 07:25:38
Post Id



Частый гость


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


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

[+][+][+][+][+]


У меня на страничке ~15 запросов. Это нормально? )
 
 Top
EuGen Администратор
Отправлено: 31 Мая, 2008 - 10:19:22
Post Id


Профессионал


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


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




На статичную страницу - много.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
scuter
Отправлено: 31 Мая, 2008 - 14:55:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




Цитата:
На статичную страницу - много.

для вывода одной страницы иногда достаточно одно запроса,
но это так мелочи.

теперь надо бы объяснить как желательно организовать саму админ систему

как таковой вывод страницы это вопрос кодинга,
я это делаю в одну функцию и она ничего не принтит и выдаёт готовый HTML код,

другое дело администрирование страниц и шаблонов,
начнём с шаблонов, тут 2 варианта использования,
1)помесь PHP с HTML(в таком случае програмисты не парятся и на прямую юзают функции)
2)использование шаблонизаторов(тут верстальщики не парятся и просто верстают)

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

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

теперь надо бы перейти к странице
в ней тоже могут присутствовать какие то блоки,
тут я думаю что без шаблонизации не обойтись,
соответственно надо вытаскивать маркеры шаблонов,
и кидать их при сохранении в базу,
так же страницу дослжны сопровождать дополнительные данные,
это слова для поисковиков, название, шаблон который используется,
ну и иногда люди дают возможность ставить альтернативный адрес.

ну вот с основным положение CMS систем, я надеюсь ознакомил.
если кто то с чем то не согласен пожалуйста выскажите своё мнение!

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

соответственно программисты тоже хотят кушать поэтому система будет платная.
сейчас она выглядит так.
(Добавление)
естественно много чего там глючно работает или вообще не работает.
Прикреплено изображение (Нажмите для увеличения)
poketos.JPG
 
 Top
Джур
Отправлено: 31 Мая, 2008 - 20:19:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


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




CMS это такая простая вещь, что я удивляюсь, почему ребят из Bitrix, UMI.CMS и Joomla еще не кастрировали за то что они наваяли... Ха-ха

итак, самое важное - сайт состоит из страниц.
Страница - это в итоге описание какой шаблон вы используете для данной странички, какие блоки, в каком порядке и в каких местах шаблона "подтыкаете"
блок - это либо РНР-скрипт, либо простой HTML-текст.
шаблон - это обычно PHP/HTML страничка в некоторых местах которой можно эти самые блоки впихнуть.

сответственно блоки HTML кода можно редактировать либо в TEXTAREA либо через WYSING редактор, не суть важно...
РНР-модули же могут иметь "административную часть" тоесть простейший GUI для настройки данного модуля.

Все... Остальной функционал выполняют РНР-модули, которые потом дописывают программисты для ушастых ламеров.

P.S. Наличие шаблонизаторов, визуальных редакторов, полупрозрачных иконок разделение прав и способ хранения данных это сугубо по вкусу.

(Отредактировано автором: 31 Мая, 2008 - 20:21:17)



-----
Тамбовский каджит тебе товарищ
 
 Top
D1mOn
Отправлено: 01 Июня, 2008 - 05:27:17
Post Id



Частый гость


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


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

[+][+][+][+][+]


EuGen пишет:
На статичную страницу - много.

Ну как статичная... У меня выводится меню слева, контен посередине и другое меню справа. Я не умаю, что это статика...
 
 Top
Джур
Отправлено: 01 Июня, 2008 - 05:45:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


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




D1mOn пишет:
EuGen пишет:
На статичную страницу - много.

Ну как статичная... У меня выводится меню слева, контен посередине и другое меню справа. Я не умаю, что это статика...

Ну на самом деле это в принципе статика и есть, вернее ограничено динамичная страничка.
в принципе на такое допустимо 3-5 запросов... ну при определенных условиях до 7-ми
а учитывая что менюшка не меняется каждые несколько секунд, то запросы для менюшек можно кешировать на 5-60 минут


-----
Тамбовский каджит тебе товарищ
 
 Top
D1mOn
Отправлено: 01 Июня, 2008 - 05:47:52
Post Id



Частый гость


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


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

[+][+][+][+][+]


Джур пишет:
запросы для менюшек можно кешировать на 5-60 минут

Отсюда поподробнее
 
 Top
Джур
Отправлено: 01 Июня, 2008 - 05:58:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


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




D1mOn пишет:
Джур пишет:
запросы для менюшек можно кешировать на 5-60 минут

Отсюда поподробнее

Для создания меню, делают нужный запрос/запросы и получают массив, который затем превращается в меню которое используют на страничке, так вот, если запросы для создания меню "тяжОлые", то имеет смысл полученый массив из которого затем отрисовываем меню, серилизовать и положить в файлик или в определенную таблицу базы...

Затем проверяем наличие данного файлика и его свежесть...
Если кранить в базе, то в принципе все то-же самое


-----
Тамбовский каджит тебе товарищ
 
 Top
Страниц (6): [1] 2 3 4 5 6 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Наработки по собственным проектам »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB